|
1
|
1 |
(function(){ |
|
|
2 |
'use strict'; |
|
|
3 |
|
|
|
4 |
angular.module('ammicoSearch',['ngResource', 'ngRoute']) |
|
|
5 |
.config(function ($routeProvider) { |
|
|
6 |
$routeProvider |
|
|
7 |
.when('/', { |
|
|
8 |
templateUrl: 'search/search.html', |
|
|
9 |
controller: 'searchCtrl' |
|
|
10 |
}); |
|
|
11 |
}) |
|
2
|
12 |
.controller('searchCtrl', function($scope, $location, $routeParams, searchApi){ |
|
1
|
13 |
console.log('search 6',$scope, $location, $routeParams); |
|
|
14 |
$scope.q = $routeParams.q || ''; |
|
2
|
15 |
searchApi.searchResource({q:$scope.q, of: 'json', synthesis: 'false', nresults:'50', callback: 'JSON_CALLBACK'}).$promise.then( |
|
1
|
16 |
//success |
|
|
17 |
function( data ){ |
|
7
|
18 |
// Transform meta list into meta dict |
|
|
19 |
var nb = data.hits.length; |
|
|
20 |
for(var i=0;i<nb;i++){ |
|
|
21 |
var nb_metas = data.hits[i].metas.length; |
|
|
22 |
data.hits[i].metas_dict = {}; |
|
|
23 |
for(var j=0;j<nb_metas;j++){ |
|
|
24 |
if(typeof data.hits[i].metas[j].images==='undefined'){ |
|
|
25 |
data.hits[i].metas_dict[data.hits[i].metas[j].name] = data.hits[i].metas[j].value; |
|
|
26 |
} |
|
|
27 |
else{ |
|
|
28 |
data.hits[i].metas_dict.images = data.hits[i].metas[j].images[0].value; |
|
|
29 |
} |
|
|
30 |
} |
|
6
|
31 |
} |
|
1
|
32 |
$scope.results = data; |
|
|
33 |
}, |
|
|
34 |
//error |
|
|
35 |
function( error ){ |
|
2
|
36 |
alert('Erreur avec la requĂȘte', error); |
|
1
|
37 |
} |
|
|
38 |
); |
|
|
39 |
}) |
|
|
40 |
.filter('meta', function() { |
|
|
41 |
return function(input, metaName) { |
|
|
42 |
var nb = input.length, i = 0, found = false; |
|
|
43 |
while(found===false && i<nb){ |
|
|
44 |
if(input[i].name===metaName){ |
|
|
45 |
found = true; |
|
|
46 |
return input[i].value; |
|
|
47 |
} |
|
|
48 |
i++; |
|
|
49 |
} |
|
2
|
50 |
return ''; |
|
1
|
51 |
}; |
|
|
52 |
}); |
|
|
53 |
|
|
|
54 |
})(); |