split ammico $resource to a new .Service
authorrougeronj
Thu, 02 Apr 2015 13:11:12 +0200
changeset 55 10fd23382e76
parent 54 ccb586464a6f
child 56 e38e9d5114ad
split ammico $resource to a new .Service
client/app/app.js
client/app/books/books_controller.js
client/app/home/home_controller.js
client/app/search/search_controller.js
client/app/slides/slides_controller.js
--- a/client/app/app.js	Thu Apr 02 12:06:51 2015 +0200
+++ b/client/app/app.js	Thu Apr 02 13:11:12 2015 +0200
@@ -53,7 +53,7 @@
     .config(function($logProvider){
       $logProvider.debugEnabled(true);
     })
-    .service('searchApi', function($resource, context, $sce) {
+    .service('searchApi', function($resource, context) {
         this.searchResource = function(params){
             return $resource(context.urls.searchUrl,  
                 {
@@ -84,6 +84,8 @@
                     }
                 });
         };
+    })
+    .service('ammicoApi', function($resource, context, $sce) {
         this.listBooks = $resource(context.urls.ammicoUrl+'/books');
         this.book = $resource(context.urls.ammicoUrl+'/books/:idBook', {idBook:'@idBook'});
         this.order = $resource(context.urls.ammicoUrl+'/books/:idBook/order', {idBook:'@idBook'});
--- a/client/app/books/books_controller.js	Thu Apr 02 12:06:51 2015 +0200
+++ b/client/app/books/books_controller.js	Thu Apr 02 13:11:12 2015 +0200
@@ -2,11 +2,8 @@
 	'use strict';
 
 	angular.module('ammicoBooks',['ngRoute', 'ui.sortable'])
-	.service('booksModel', function(searchApi) {
-		this.books = searchApi.listBooks.query({format:'json'}); 
-	})
-	.controller('booksCtrl', function($scope, $location, booksModel, $modal){
-		$scope.books = booksModel.books;
+	.controller('booksCtrl', function($scope, $location, booksModel, $modal, ammicoApi){
+		$scope.books = ammicoApi.listBooks.query({format:'json'});
 		$scope.searchSubmit = function(){
 			$location.path('/search/' + $scope.q);
 		};
@@ -18,8 +15,8 @@
 			});
 		};
 	})
-	.controller('bookCtrl', function($scope, searchApi, $routeParams) {
-		$scope.slides = searchApi.booksSlides.query({idBook:$routeParams.idBook, format:'json'});
+	.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;
 		  });
@@ -28,24 +25,24 @@
 		    	var order = $scope.slides.map(function(i){
 		            return i.id;
 		    	});
-		    	searchApi.order.save({idBook:$routeParams.idBook}, {order: order});
+		    	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.')){
-					searchApi.slide.delete({idSlide: $scope.slides[i].id}, function(){
+					ammicoApi.slide.delete({idSlide: $scope.slides[i].id}, function(){
 						$scope.slides.splice(i, 1);
 					});
 				}
 			}
 		};
 	})
-	.controller('ModalAddBookCtrl', function ($scope, searchApi, $modalInstance) {
+	.controller('ModalAddBookCtrl', function ($scope, ammicoApi, $modalInstance) {
 		
 		$scope.add = function(){
-			searchApi.listBooks.save({title: $scope.title});
+			ammicoApi.listBooks.save({title: $scope.title});
 			$modalInstance.close();
 		};
 
--- a/client/app/home/home_controller.js	Thu Apr 02 12:06:51 2015 +0200
+++ b/client/app/home/home_controller.js	Thu Apr 02 13:11:12 2015 +0200
@@ -10,13 +10,6 @@
 			controller: 'homeCtrl'
 		});
 	})
-	.service('booksModel', function(searchApi) {
-		var _this = this;
-		
-		this.books = searchApi.getResource.query({action:'books', format:'json'}, function(data){
-			_this.books = data;
-		});
-	})
 	.controller('homeCtrl', function($scope, $location){
 		$scope.searchSubmit = function(){
 			$location.path('/search/' + $scope.q);
--- a/client/app/search/search_controller.js	Thu Apr 02 12:06:51 2015 +0200
+++ b/client/app/search/search_controller.js	Thu Apr 02 13:11:12 2015 +0200
@@ -30,8 +30,8 @@
 			});
 		};
 	})
-	.controller('ModalInstanceCtrl', function ($scope, searchApi, $modalInstance) {
-		$scope.books = searchApi.listBooks.query({format:'json'});
+	.controller('ModalInstanceCtrl', function ($scope, ammicoApi, $modalInstance) {
+		$scope.books = ammicoApi.listBooks.query({format:'json'});
 		
 		$scope.addToBook = function(idBook){
 			$modalInstance.close(idBook);
--- a/client/app/slides/slides_controller.js	Thu Apr 02 12:06:51 2015 +0200
+++ b/client/app/slides/slides_controller.js	Thu Apr 02 13:11:12 2015 +0200
@@ -2,10 +2,10 @@
 	'use strict';
 
 	angular.module('ammicoSlides',['ngResource', 'ngRoute'])
-	.controller('slidesCtrl', function($scope, $routeParams, searchApi){
+	.controller('slidesCtrl', function($scope, $routeParams, ammicoApi){
 		
-		$scope.slide = searchApi.slide.get({idSlide:$routeParams.idSlide, format:'json'}, function(data){
-			data = searchApi.sanitizeUrls(data);
+		$scope.slide = ammicoApi.slide.get({idSlide:$routeParams.idSlide, format:'json'}, function(data){
+			data = ammicoApi.sanitizeUrls(data);
 		});
 
 		$scope.save = function(){