# HG changeset patch # User rougeronj # Date 1432746163 -7200 # Node ID c7c424e9eed5314fc6dce68532f1fc1f09292d71 # Parent e165f7647ae3e9b3a1d067616604607177712b5b refactor the ammicoApi service and put it into a specific module (ammicoCommon). Use factory to serve the resources diff -r e165f7647ae3 -r c7c424e9eed5 client/app/books/books_controller.js --- a/client/app/books/books_controller.js Wed May 27 19:01:25 2015 +0200 +++ b/client/app/books/books_controller.js Wed May 27 19:02:43 2015 +0200 @@ -1,142 +1,142 @@ (function(){ - 'use strict'; - - angular.module('ammicoBooks',['ngRoute', 'ui.sortable']) - .controller('booksCtrl', function($scope, $location, $modal, ammicoApi){ - $scope.books = ammicoApi.listBooks.query({format:'json'}, function(data){ - data.sort(function (a, b) { - return a.date < b.date; - }); - - for (var i = 0; i < data.length; i++) { - if (data[i].idArticle === null){ - data[i].slides = ammicoApi.booksSlides.query({idBook:data[i].id, format:'json'}); - } - } - }); - - $scope.toggleModal = function (index) { + 'use strict'; - var modalInstance = $modal.open({ - templateUrl: 'books/add_book_modal.html', - controller: 'ModalAddBookCtrl', - size: 'sm' - }); - - modalInstance.result.then(function (idBook) { - var newSlide = { - book: idBook, - idInventory: $scope.results.hits[index].metas_dict.inventorynumber - }; - ammicoApi.listSlides.save(newSlide); - }); - }; - - $scope.searchSubmit = function(){ - $location.path('/search/' + $scope.q); - }; + angular.module('ammicoBooks',['ngRoute', 'ui.sortable']) + .controller('booksCtrl', function($scope, $location, $modal, Book, Slide){ + $scope.editable = true; + + $scope.books = Book.query({format:'json'}, function(data){ + data.sort(function (a, b) { + return a.date < b.date; + }); - $scope.addBook = function (idParent) { - $modal.open({ - templateUrl: 'books/add_modal.html', - controller: 'ModalAddBookCtrl' - }).result.then(function (title) { - ammicoApi.listBooks.save({idParent:idParent, title: title}, function(newBook){ - $scope.books.push(newBook); - }); - }); - }; - $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); - } - }); - } - }; - }) + for (var i = 0; i < data.length; i++) { + if (data[i].idArticle === null){ + data[i].slides = Slide.query({idBook:data[i].id, limit: 5, format:'json'}); + } + } + }); + + $scope.toggleModal = function (index) { - .controller('bookCtrl', function($scope, $location, ammicoApi, $routeParams, $modal) { - $scope.parentBook = ammicoApi.book.get({idBook:$routeParams.idBook, format:'json'}, function(data){ - data.slides = ammicoApi.booksSlides.query({idBook: data.id, format:'json'}, function(data){ - data.sort(function (a, b) { - return a.orderIndex > b.orderIndex; - }); - }); - }); - - $scope.toggleFavorite = function (index) { + var modalInstance = $modal.open({ + templateUrl: 'books/add_book_modal.html', + controller: 'ModalAddBookCtrl', + size: 'sm' + }); - $scope.parentBook.slides[index].favorite = !$scope.parentBook.slides[index].favorite; - $scope.parentBook.slides[index].$save({format:'json'}); - //$scope.slide.$save({idSlide:$scope.slide.id, format:'json'}); + modalInstance.result.then(function (idBook) { + var newSlide = { + book: idBook, + idInventory: $scope.results.hits[index].metas_dict.inventorynumber + }; + Slide.save(newSlide); + }); }; - $scope.toggleModal = function (index) { - - var modalInstance = $modal.open({ - templateUrl: 'books/add_book_modal.html', - controller: 'ModalAddBookCtrl', - size: 'sm' - }); + $scope.addBook = function (idParent) { + $modal.open({ + templateUrl: 'books/add_modal.html', + controller: 'ModalAddBookCtrl' + }).result.then(function (title) { + Book.save({idParent:idParent, title: title}, function(newBook){ + $scope.books.push(newBook); + }); + }); + }; + $scope.deleteItem = function(item){ + if(window.confirm('Êtes-vous sûr(e) de vouloir effacer cet élément ? Cette action est irrémédiable.')){ + Slide.delete({idSlide: item.id}, function(){ + $scope.book.slides.splice($scope.book.slides.indexOf(item), 1); + }, + function(error) { + if (error.status === 404){ + $scope.book.slides.splice($scope.book.indexOf(item), 1); + } + }); + } + }; + $scope.deleteBook = function(book){ + if(window.confirm('Êtes-vous sûr(e) de vouloir effacer cet élément ? Cette action est irrémédiable.')){ + 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); + } + }); + } + }; + }) - modalInstance.result.then(function (idBook) { - var newSlide = { - book: idBook, - idInventory: $scope.results.hits[index].metas_dict.inventorynumber - }; - ammicoApi.listSlides.save(newSlide); - }); - }; + .controller('bookCtrl', function($scope, $location, $routeParams, $modal, Book, Slide, Order) { + $scope.editable = true; + + $scope.book = Book.get({idBook:$routeParams.idBook, format:'json'}, function(data){ + data.slides = Slide.query({idBook: data.id, format:'json'}, function(data){ + data.sort(function (a, b) { + return a.orderIndex > b.orderIndex; + }); + }); + }); - $scope.sortableOptions = { - stop: function() { - var order = $scope.parentBook.slides.map(function(i){ - return i.id; - }); - ammicoApi.order.save({idBook:$routeParams.idBook}, {order: order}); - } - }; + $scope.toggleModal = function (index) { - $scope.deleteItem = function(i){ - if(window.confirm('Êtes-vous sûr(e) de vouloir effacer cet élément ? Cette action est irrémédiable.')){ - $scope.parentBook.slides[i].$delete(); - //if(0<=i && i<$scope.slides.length){ -// ammicoApi.slide.delete({idSlide: $scope.slides[i].id}, function(){ -// $scope.slides.splice(i, 1); -// }, -// function(error) { -// if (error.status === 404){ -// $scope.slides.splice(i, 1); -// } -// }); -// } - } - }; - }) - .controller('ModalAddBookCtrl', function ($scope, ammicoApi, $modalInstance) { + var modalInstance = $modal.open({ + templateUrl: 'books/add_book_modal.html', + controller: 'ModalAddBookCtrl', + size: 'sm' + }); + + modalInstance.result.then(function (idBook) { + var newSlide = { + book: idBook, + idInventory: $scope.results.hits[index].metas_dict.inventorynumber + }; + Slide.save(newSlide); + }); + }; - $scope.add = function(){ - $modalInstance.close($scope.title); -// ammicoApi.listBooks.save({title: $scope.title}, function(newBook){ -// }); - }; - $scope.cancel = function () { - $modalInstance.dismiss('cancel'); - } - ; - $scope.books = ammicoApi.listBooks.query({format:'json'}); - - $scope.addToBook = function(idBook){ - $modalInstance.close(idBook); - }; + $scope.sortableOptions = { + stop: function() { + var order = $scope.book.slides.map(function(i){ + return i.id; + }); + Order.save({idBook:$routeParams.idBook}, {order: order}); + } + }; + + $scope.deleteItem = function(item){ + if(window.confirm('Êtes-vous sûr(e) de vouloir effacer cet élément ? Cette action est irrémédiable.')){ + Slide.delete({idSlide: item.id}, function(){ + $scope.book.slides.splice($scope.book.slides.indexOf(item), 1); + }, + function(error) { + if (error.status === 404){ + $scope.book.slides.splice($scope.book.indexOf(item), 1); + } + }); + } + }; + }) + .controller('ModalAddBookCtrl', function ($scope, Book, $modalInstance) { - $scope.cancel = function () { - $modalInstance.dismiss('cancel'); - }; - }); + $scope.add = function(){ + $modalInstance.close($scope.title); + }; + $scope.cancel = function () { + $modalInstance.dismiss('cancel'); + } + ; + $scope.books = Book.query({format:'json'}); + + $scope.addToBook = function(idBook){ + $modalInstance.close(idBook); + }; + + $scope.cancel = function () { + $modalInstance.dismiss('cancel'); + }; + }); })(); diff -r e165f7647ae3 -r c7c424e9eed5 client/app/components/app_service.js --- a/client/app/components/app_service.js Wed May 27 19:01:25 2015 +0200 +++ b/client/app/components/app_service.js Wed May 27 19:02:43 2015 +0200 @@ -2,15 +2,106 @@ (function(){ 'use strict'; - angular.module('ammicoModels', ['ngRoute']) + angular.module('ammicoCommon', ['ngRoute']) .factory('Book', function($resource, context) { - var books = $resource(context.urls.ammicoUrl+'/books/:idBook', {idBook:'@id'}); - //return $resource('/api/posts/:id'); + var books = $resource(context.urls.ammicoUrl+'/books/:idBook', {idBook:'@id'}, {update: { method: 'PUT'}}); return books; }) .factory('Slide', function($resource, context) { - return $resource(context.urls.ammicoUrl+'/slides/:idSlide', {idSlide:'@id'}); - //return $resource('/api/posts/:id'); + var slides = $resource(context.urls.ammicoUrl+'/slides/:idSlide', {idSlide:'@id'}, {update: { method: 'PUT'}}); + + angular.extend(slides.prototype, { + + toggleFavorite: function () { + this.favorite = !this.favorite; + this.$update(); + }, + remove: function (array) { + var _this = this; + if(window.confirm('Êtes-vous sûr(e) de vouloir effacer cet élément ? Cette action est irrémédiable.')){ + this.$delete(function(){ + if (array){ + array.splice(array.indexOf(_this), 1); + } + }, + function(error) { + if (error.status === 404 && array){ + array.splice(array.indexOf(_this), 1); + } + }); + } + } + }); + + return slides; + }) + .factory('Order', function($resource, context) { + return $resource(context.urls.ammicoUrl+'/books/:idBook/order', {idBook:'@id'}); + }) + .service('Utils', function($resource, context, $sce) { + this.sanitizeUrls = function(data){ + data.details.audio = $sce.trustAsResourceUrl(data.details.audio); + data.details.video = $sce.trustAsResourceUrl(data.details.video); + data.audio = $sce.trustAsResourceUrl(data.audio); + data.video = $sce.trustAsResourceUrl(data.video); + console.log(data); + return data; + }; + }) + .service('authApi', function($resource, context) { + this.login = $resource(context.urls.ammicoUrl+'/auth/api-token-auth'); + this.logout = $resource(context.urls.ammicoUrl+'/auth/logout'); + this.user = $resource(context.urls.ammicoUrl+'/auth/user'); + this.test = $resource(context.urls.ammicoUrl+'/auth/auth'); + }) + .service('searchApi', function($resource, context) { + this.searchResource = function(params){ + return $resource(context.urls.searchUrl, + { + callback: 'JSON_CALLBACK' + }, + { + getJsonp: { + method: 'JSONP', + params: params, + isArray: false, + transformResponse: function(data){ + // Transform meta list into meta dict + var nb = data.hits.length; + for(var i=0;i h){ + $(this).addClass('img-landscape'); + } + }); + } + } }); })(); diff -r e165f7647ae3 -r c7c424e9eed5 client/app/my_visit/my_visit_controller.js --- a/client/app/my_visit/my_visit_controller.js Wed May 27 19:01:25 2015 +0200 +++ b/client/app/my_visit/my_visit_controller.js Wed May 27 19:02:43 2015 +0200 @@ -1,67 +1,45 @@ (function(){ - 'use strict'; - - angular.module('ammicoMyvisit',['ngRoute', 'ui.sortable']) - .controller('my_visitCtrl', function($scope, $location, $modal, ammicoApi){ + 'use strict'; - //get list book - $scope.books = ammicoApi.listBooks.query({format:'json'}, function(data){ - data.sort(function (a, b) { - return a.date < b.date; - }); + angular.module('ammicoMyvisit',['ngRoute', 'ui.sortable']) + .controller('my_visitCtrl', function($scope, $location, $modal, Book, Slide){ - for (var i = 0; i < data.length; i++) { - if (data[i].idArticle){ - data[i].slides = ammicoApi.booksSlides.query({idBook:data[i].id, format:'json'}); - } - } - }); + //get list book + $scope.books = Book.query({format:'json'}, function(data){ + data.sort(function (a, b) { + return a.date < b.date; + }); - $scope.addBook = function (idParent) { - $modal.open({ - templateUrl: 'my_visit/add_modal_my_visit.html', - controller: 'ModalAddMyvisitCtrl' - }).result.then(function (title) { - //add book with the title written in the modal - ammicoApi.listBooks.save({idParent:idParent, title: title}, function(newBook){ - $scope.books.push(newBook); - }); - }); - }; - + for (var i = 0; i < data.length; i++) { + if (data[i].idArticle){ + data[i].slides = Slide.query({idBook:data[i].id, format:'json'}); + } + } + }); - $scope.share = function (idParent) { - $modal.open({ - templateUrl: 'my_visit/share_modal_my_visit.html', - controller: 'ModalAddMyvisitCtrl' - }).result.then(function (title) { - //add book with the title written in the modal - ammicoApi.slidesBook.query({idParent:idParent, title: title}, function(newBook){ - $scope.books(newBook); - }); - }); - }; - - - }) - - .controller('ModalAddMyvisitCtrl', function ($scope, ammicoApi, $modalInstance) { + $scope.addBook = function (idParent) { + $modal.open({ + templateUrl: 'my_visit/add_modal_my_visit.html', + controller: 'ModalAddMyvisitCtrl' + }).result.then(function (title) { + //add book with the title written in the modal + Book.save({idParent:idParent, title: title}, function(newBook){ + $scope.books.push(newBook); + }); + }); + }; + }) + .controller('ModalAddMyvisitCtrl', function ($scope, $modalInstance) { - $scope.add = function(){ - $modalInstance.close($scope.title); -// ammicoApi.listBooks.save({title: $scope.title}, function(newBook){ -// }); - }; - $scope.cancel = function () { - $modalInstance.dismiss('cancel'); - }; - $scope.share = function () { - $modalInstance($scope.book); - }; - }); - - - - + $scope.add = function(){ + $modalInstance.close($scope.title); + }; + $scope.cancel = function () { + $modalInstance.dismiss('cancel'); + }; + $scope.share = function () { + $modalInstance($scope.book); + }; + }); })(); diff -r e165f7647ae3 -r c7c424e9eed5 client/app/slides/slides_controller.js --- a/client/app/slides/slides_controller.js Wed May 27 19:01:25 2015 +0200 +++ b/client/app/slides/slides_controller.js Wed May 27 19:02:43 2015 +0200 @@ -1,36 +1,36 @@ (function(){ - 'use strict'; + 'use strict'; - angular.module('ammicoSlides',['ngResource', 'ngRoute']) - .controller('slidesCtrl', function($scope, $routeParams, ammicoApi){ - - $scope.slide = ammicoApi.slide.get({idSlide:$routeParams.idSlide, format:'json'}, function(data){ - data = ammicoApi.sanitizeUrls(data); - }); + angular.module('ammicoSlides',['ngResource', 'ngRoute']) + .controller('slidesCtrl', function($scope, $routeParams, Slide, Utils){ + + $scope.slide = Slide.get({idSlide:$routeParams.idSlide, format:'json'}, function(data){ + data = Utils.sanitizeUrls(data); + }); - }) - .directive('slideEditor', function() { - return { - restrict: 'AE', - replace: true, - scope: false, - templateUrl: 'slides/data_editor.html', - controller: function($scope){ - $scope.slidesave = function(){ - if(typeof $scope.slide.tags === 'string'){ - $scope.slide.tags = $scope.slide.tags.split(','); - for (var i = $scope.slide.tags.length - 1; i >= 0; i--) { - $scope.slide.tags[i] = $scope.slide.tags[i].trim(); - } - } - $scope.slide.editMode = false; - $scope.slide.$save({idSlide:$scope.slide.id, format:'json'}); - }; - $scope.doubleClick = function(){ - $scope.slide.editMode = true; - }; - } - }; - }); + }) + .directive('slideEditor', function() { + return { + restrict: 'AE', + replace: true, + scope: false, + templateUrl: 'slides/data_editor.html', + controller: function($scope){ + $scope.slidesave = function(){ + if(typeof $scope.slide.tags === 'string'){ + $scope.slide.tags = $scope.slide.tags.split(','); + for (var i = $scope.slide.tags.length - 1; i >= 0; i--) { + $scope.slide.tags[i] = $scope.slide.tags[i].trim(); + } + } + $scope.slide.editMode = false; + $scope.slide.$update({format:'json'}); + }; + $scope.doubleClick = function(){ + $scope.slide.editMode = true; + }; + } + }; + }); })(); diff -r e165f7647ae3 -r c7c424e9eed5 client/app/slideshow/slideshow_controller.js --- a/client/app/slideshow/slideshow_controller.js Wed May 27 19:01:25 2015 +0200 +++ b/client/app/slideshow/slideshow_controller.js Wed May 27 19:02:43 2015 +0200 @@ -1,11 +1,13 @@ (function(){ - 'use strict'; + 'use strict'; - angular.module('ammicoSlideshow',['ngResource', 'ngRoute', 'ui.bootstrap']) - .controller('slideshowCtrl', function($scope, ammicoApi, $routeParams){ - $scope.slideshow = ammicoApi.booksSlides.query({idBook:$routeParams.iSlide, format:'json'}, function(data){ - data = ammicoApi.sanitizeUrls(data); - }); - $scope.book = ammicoApi.book.get({idBook:$routeParams.iSlide, format:'json'}); - }); + angular.module('ammicoSlideshow',['ngResource', 'ngRoute', 'ui.bootstrap']) + .controller('slideshowCtrl', function($scope, $routeParams, Slide, Book, Utils){ + $scope.slideshow = Slide.query({idBook:$routeParams.iSlide, format:'json'}, function(data){ + data.forEach(function(slide){ + slide = Utils.sanitizeUrls(slide); + }); + }); + $scope.book = Book.get({idBook:$routeParams.iSlide, format:'json'}); + }); })(); diff -r e165f7647ae3 -r c7c424e9eed5 client/app/visites/visites_controller.js --- a/client/app/visites/visites_controller.js Wed May 27 19:01:25 2015 +0200 +++ b/client/app/visites/visites_controller.js Wed May 27 19:02:43 2015 +0200 @@ -1,146 +1,101 @@ (function(){ - 'use strict'; - - angular.module('ammicoVisites',['ngRoute', 'ui.sortable']) - .controller('visitesCtrl', function($scope, $location, $modal, ammicoApi){ + 'use strict'; - //get list book - $scope.books = ammicoApi.listBooks.query({format:'json'}, function(data){ - data.sort(function (a, b) { - return a.date < b.date; - }); + angular.module('ammicoVisites',['ngRoute', 'ui.sortable']) + .controller('visitesCtrl', function($scope, $location, $modal, Book, Slide){ - for (var i = 0; i < data.length; i++) { - if (data[i].idArticle){ - data[i].slides = ammicoApi.booksSlides.query({idBook:data[i].id, format:'json'}); - } - } - }); - - $scope.toggleModal = function (index) { - - var modalInstance = $modal.open({ - templateUrl: 'visites/add_book_modal.html', - controller: 'ModalAddVisitesCtrl', - size: 'sm' - }); + //get list book + $scope.books = Book.query({format:'json'}, function(data){ + data.sort(function (a, b) { + return a.date < b.date; + }); - modalInstance.result.then(function (idBook) { - var newSlide = { - book: idBook, - idInventory: $scope.results.hits[index].metas_dict.inventorynumber - }; - ammicoApi.listSlides.save(newSlide); - }); - }; + for (var i = 0; i < data.length; i++) { + if (data[i].idArticle){ + data[i].slides = Slide.query({idBook:data[i].id, limit: 5, format:'json'}); + } + } + }); + $scope.toggleModal = function (index) { - $scope.addBook = function (idParent) { - $modal.open({ - templateUrl: 'visites/add_modal_visites.html', - controller: 'ModalAddVisitesCtrl' - }).result.then(function (title) { - //add book with the title written in the modal - ammicoApi.listBooks.save({idParent:idParent, title: title}, function(newBook){ - $scope.books.push(newBook); - }); - }); - }; - - }) + var modalInstance = $modal.open({ + templateUrl: 'visites/add_book_modal.html', + controller: 'ModalAddVisitesCtrl', + size: 'sm' + }); - - .controller('visiteCtrl', function($scope, ammicoApi, $routeParams, $modal) { - //get the slides of a book - $scope.slides = ammicoApi.booksSlides.query({idBook:$routeParams.idVisit, format:'json'}, function(data){ - data.sort(function (a, b) { - return a.orderIndex > b.orderIndex; - }); - - }); + modalInstance.result.then(function (idBook) { + var newSlide = { + book: idBook, + idInventory: $scope.results.hits[index].metas_dict.inventorynumber + }; + Slide.save(newSlide); + }); + }; - $scope.toggleModal = function (index) { - - var modalInstance = $modal.open({ - templateUrl: 'visites/add_book_modal.html', - controller: 'ModalAddVisitesCtrl', - size: 'sm' - }); - - modalInstance.result.then(function (idBook) { - var newSlide = { - book: idBook, - idInventory: $scope.results.hits[index].metas_dict.inventorynumber - }; - ammicoApi.listSlides.save(newSlide); - }); - }; - - $scope.addBook = function (idParent) { - $modal.open({ - templateUrl: 'visites/add_modal_visites.html', - controller: 'ModalAddVisitesCtrl' - }).result.then(function (title) { - //add book with the title written in the modal - ammicoApi.listBooks.save({idParent:idParent, title: title}, function(newBook){ - $scope.books.push(newBook); - }); - }); - }; - - $scope.sortableOptions = { - stop: function() { - var order = $scope.slides.map(function(i){ - return i.id; - }); - ammicoApi.order.save({idBook:$routeParams.idVisit}, {order: order}); - } - }; - + $scope.addBook = function (idParent) { + $modal.open({ + templateUrl: 'visites/add_modal_visites.html', + controller: 'ModalAddVisitesCtrl' + }).result.then(function (title) { + //add book with the title written in the modal + Book.save({idParent:idParent, title: title}, function(newBook){ + $scope.books.push(newBook); + }); + }); + }; + + }) - $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.')){ - //delete a slide - ammicoApi.slide.delete({idSlide: $scope.slides[i].id}, function(){ - $scope.slides.splice(i, 1); - }, - function(error) { - if (error.status === 404){ - $scope.slides.splice(i, 1); - } - }); - } - } - }; - - }) + .controller('visiteCtrl', function($scope, $routeParams, $modal, Book, Slide) { + //get the slides of a book + + $scope.visit = Book.get({idBook:$routeParams.idVisit, format:'json'}, function(data){ + data.slides = Slide.query({idBook: data.id, format:'json'}, function(data){ + data.sort(function (a, b) { + return a.orderIndex > b.orderIndex; + }); + }); + }); + $scope.addBook = function (idParent) { + $modal.open({ + templateUrl: 'visites/add_modal_visites.html', + controller: 'ModalAddVisitesCtrl' + }).result.then(function (title) { + //add book with the title written in the modal + Book.save({idParent:idParent, title: title}, function(newBook){ + $scope.books.push(newBook); + }); + }); + }; + }) - .controller('ModalAddVisitesCtrl', function($scope, ammicoApi, $modalInstance) { + .controller('ModalAddVisitesCtrl', function($scope, $modalInstance, Book) { - $scope.add = function(){ - $modalInstance.close($scope.title); -// ammicoApi.listBooks.save({title: $scope.title}, function(newBook){ -// }); - }; - $scope.cancel = function () { - $modalInstance.dismiss('cancel'); - }; + $scope.add = function(){ + $modalInstance.close($scope.title); +// ammicoApi.listBooks.save({title: $scope.title}, function(newBook){ +// }); + }; + $scope.cancel = function () { + $modalInstance.dismiss('cancel'); + }; - $scope.books = ammicoApi.listBooks.query({format:'json'}); - - $scope.addToBook = function(idBook){ - $modalInstance.close(idBook); - }; + $scope.books = Book.query({format:'json'}); + + $scope.addToBook = function(idBook){ + $modalInstance.close(idBook); + }; - $scope.cancel = function () { - $modalInstance.dismiss('cancel'); - }; + $scope.cancel = function () { + $modalInstance.dismiss('cancel'); + }; - - }); + + }); })();