1 |
1 |
2 (function(){ |
2 (function(){ |
3 'use strict'; |
3 'use strict'; |
4 |
4 |
5 angular.module('ammicoModels', ['ngRoute']) |
5 angular.module('ammicoCommon', ['ngRoute']) |
6 .factory('Book', function($resource, context) { |
6 .factory('Book', function($resource, context) { |
7 var books = $resource(context.urls.ammicoUrl+'/books/:idBook', {idBook:'@id'}); |
7 var books = $resource(context.urls.ammicoUrl+'/books/:idBook', {idBook:'@id'}, {update: { method: 'PUT'}}); |
8 //return $resource('/api/posts/:id'); |
|
9 return books; |
8 return books; |
10 }) |
9 }) |
11 .factory('Slide', function($resource, context) { |
10 .factory('Slide', function($resource, context) { |
12 return $resource(context.urls.ammicoUrl+'/slides/:idSlide', {idSlide:'@id'}); |
11 var slides = $resource(context.urls.ammicoUrl+'/slides/:idSlide', {idSlide:'@id'}, {update: { method: 'PUT'}}); |
13 //return $resource('/api/posts/:id'); |
12 |
|
13 angular.extend(slides.prototype, { |
|
14 |
|
15 toggleFavorite: function () { |
|
16 this.favorite = !this.favorite; |
|
17 this.$update(); |
|
18 }, |
|
19 remove: function (array) { |
|
20 var _this = this; |
|
21 if(window.confirm('Êtes-vous sûr(e) de vouloir effacer cet élément ? Cette action est irrémédiable.')){ |
|
22 this.$delete(function(){ |
|
23 if (array){ |
|
24 array.splice(array.indexOf(_this), 1); |
|
25 } |
|
26 }, |
|
27 function(error) { |
|
28 if (error.status === 404 && array){ |
|
29 array.splice(array.indexOf(_this), 1); |
|
30 } |
|
31 }); |
|
32 } |
|
33 } |
|
34 }); |
|
35 |
|
36 return slides; |
|
37 }) |
|
38 .factory('Order', function($resource, context) { |
|
39 return $resource(context.urls.ammicoUrl+'/books/:idBook/order', {idBook:'@id'}); |
|
40 }) |
|
41 .service('Utils', function($resource, context, $sce) { |
|
42 this.sanitizeUrls = function(data){ |
|
43 data.details.audio = $sce.trustAsResourceUrl(data.details.audio); |
|
44 data.details.video = $sce.trustAsResourceUrl(data.details.video); |
|
45 data.audio = $sce.trustAsResourceUrl(data.audio); |
|
46 data.video = $sce.trustAsResourceUrl(data.video); |
|
47 console.log(data); |
|
48 return data; |
|
49 }; |
|
50 }) |
|
51 .service('authApi', function($resource, context) { |
|
52 this.login = $resource(context.urls.ammicoUrl+'/auth/api-token-auth'); |
|
53 this.logout = $resource(context.urls.ammicoUrl+'/auth/logout'); |
|
54 this.user = $resource(context.urls.ammicoUrl+'/auth/user'); |
|
55 this.test = $resource(context.urls.ammicoUrl+'/auth/auth'); |
|
56 }) |
|
57 .service('searchApi', function($resource, context) { |
|
58 this.searchResource = function(params){ |
|
59 return $resource(context.urls.searchUrl, |
|
60 { |
|
61 callback: 'JSON_CALLBACK' |
|
62 }, |
|
63 { |
|
64 getJsonp: { |
|
65 method: 'JSONP', |
|
66 params: params, |
|
67 isArray: false, |
|
68 transformResponse: function(data){ |
|
69 // Transform meta list into meta dict |
|
70 var nb = data.hits.length; |
|
71 for(var i=0;i<nb;i++){ |
|
72 var nb_metas = data.hits[i].metas.length; |
|
73 data.hits[i].metas_dict = {}; |
|
74 for(var j=0;j<nb_metas;j++){ |
|
75 if(typeof data.hits[i].metas[j].images==='undefined'){ |
|
76 data.hits[i].metas_dict[data.hits[i].metas[j].name] = data.hits[i].metas[j].value; |
|
77 } |
|
78 else{ |
|
79 data.hits[i].metas_dict.images = data.hits[i].metas[j].images[0].value; |
|
80 } |
|
81 } |
|
82 } |
|
83 return data; |
|
84 } |
|
85 } |
|
86 }); |
|
87 }; |
|
88 }) |
|
89 .directive('myCustomer', function(){ |
|
90 return { |
|
91 link: function(scope, elem, attr) { |
|
92 elem.bind('error', function() { |
|
93 elem.parents('li.item').addClass('no-img'); |
|
94 elem.remove(); |
|
95 }); |
|
96 elem.on('load', function() { |
|
97 var w = $(this).width(), |
|
98 h = $(this).height(); |
|
99 if (w > h){ |
|
100 $(this).addClass('img-landscape'); |
|
101 } |
|
102 }); |
|
103 } |
|
104 } |
14 }); |
105 }); |
15 |
106 |
16 })(); |
107 })(); |