client/app/search/search_controller.js
author cavaliet
Mon, 06 Oct 2014 17:36:47 +0200
changeset 7 e70f1c4785f3
parent 6 4be9f21f2df1
child 8 824c87a9084c
permissions -rw-r--r--
search with new results
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1
74bbdd739878 views, path, search...
cavaliet
parents:
diff changeset
     1
(function(){
74bbdd739878 views, path, search...
cavaliet
parents:
diff changeset
     2
  'use strict';
74bbdd739878 views, path, search...
cavaliet
parents:
diff changeset
     3
74bbdd739878 views, path, search...
cavaliet
parents:
diff changeset
     4
  angular.module('ammicoSearch',['ngResource', 'ngRoute'])
74bbdd739878 views, path, search...
cavaliet
parents:
diff changeset
     5
    .config(function ($routeProvider) {
74bbdd739878 views, path, search...
cavaliet
parents:
diff changeset
     6
      $routeProvider
74bbdd739878 views, path, search...
cavaliet
parents:
diff changeset
     7
        .when('/', {
74bbdd739878 views, path, search...
cavaliet
parents:
diff changeset
     8
          templateUrl: 'search/search.html',
74bbdd739878 views, path, search...
cavaliet
parents:
diff changeset
     9
          controller: 'searchCtrl'
74bbdd739878 views, path, search...
cavaliet
parents:
diff changeset
    10
        });
74bbdd739878 views, path, search...
cavaliet
parents:
diff changeset
    11
    })
2
36ccc573af9a clean search resource
cavaliet
parents: 1
diff changeset
    12
    .controller('searchCtrl', function($scope, $location, $routeParams, searchApi){
1
74bbdd739878 views, path, search...
cavaliet
parents:
diff changeset
    13
      console.log('search 6',$scope, $location, $routeParams);
74bbdd739878 views, path, search...
cavaliet
parents:
diff changeset
    14
      $scope.q = $routeParams.q || '';
2
36ccc573af9a clean search resource
cavaliet
parents: 1
diff changeset
    15
      searchApi.searchResource({q:$scope.q, of: 'json', synthesis: 'false', nresults:'50', callback: 'JSON_CALLBACK'}).$promise.then(
1
74bbdd739878 views, path, search...
cavaliet
parents:
diff changeset
    16
          //success
74bbdd739878 views, path, search...
cavaliet
parents:
diff changeset
    17
          function( data ){
7
e70f1c4785f3 search with new results
cavaliet
parents: 6
diff changeset
    18
              // Transform meta list into meta dict
e70f1c4785f3 search with new results
cavaliet
parents: 6
diff changeset
    19
              var nb = data.hits.length;
e70f1c4785f3 search with new results
cavaliet
parents: 6
diff changeset
    20
              for(var i=0;i<nb;i++){
e70f1c4785f3 search with new results
cavaliet
parents: 6
diff changeset
    21
                  var nb_metas = data.hits[i].metas.length;
e70f1c4785f3 search with new results
cavaliet
parents: 6
diff changeset
    22
                  data.hits[i].metas_dict = {};
e70f1c4785f3 search with new results
cavaliet
parents: 6
diff changeset
    23
                  for(var j=0;j<nb_metas;j++){
e70f1c4785f3 search with new results
cavaliet
parents: 6
diff changeset
    24
                      if(typeof data.hits[i].metas[j].images==='undefined'){
e70f1c4785f3 search with new results
cavaliet
parents: 6
diff changeset
    25
                          data.hits[i].metas_dict[data.hits[i].metas[j].name] = data.hits[i].metas[j].value;
e70f1c4785f3 search with new results
cavaliet
parents: 6
diff changeset
    26
                      }
e70f1c4785f3 search with new results
cavaliet
parents: 6
diff changeset
    27
                      else{
e70f1c4785f3 search with new results
cavaliet
parents: 6
diff changeset
    28
                          data.hits[i].metas_dict.images = data.hits[i].metas[j].images[0].value;
e70f1c4785f3 search with new results
cavaliet
parents: 6
diff changeset
    29
                      }
e70f1c4785f3 search with new results
cavaliet
parents: 6
diff changeset
    30
                  }
6
4be9f21f2df1 show/hide texts
cavaliet
parents: 2
diff changeset
    31
              }
1
74bbdd739878 views, path, search...
cavaliet
parents:
diff changeset
    32
              $scope.results = data;
74bbdd739878 views, path, search...
cavaliet
parents:
diff changeset
    33
          },
74bbdd739878 views, path, search...
cavaliet
parents:
diff changeset
    34
          //error
74bbdd739878 views, path, search...
cavaliet
parents:
diff changeset
    35
          function( error ){
2
36ccc573af9a clean search resource
cavaliet
parents: 1
diff changeset
    36
              alert('Erreur avec la requĂȘte', error);
1
74bbdd739878 views, path, search...
cavaliet
parents:
diff changeset
    37
          }
74bbdd739878 views, path, search...
cavaliet
parents:
diff changeset
    38
      );
74bbdd739878 views, path, search...
cavaliet
parents:
diff changeset
    39
    })
74bbdd739878 views, path, search...
cavaliet
parents:
diff changeset
    40
    .filter('meta', function() {
74bbdd739878 views, path, search...
cavaliet
parents:
diff changeset
    41
        return function(input, metaName) {
74bbdd739878 views, path, search...
cavaliet
parents:
diff changeset
    42
            var nb = input.length, i = 0, found = false;
74bbdd739878 views, path, search...
cavaliet
parents:
diff changeset
    43
            while(found===false && i<nb){
74bbdd739878 views, path, search...
cavaliet
parents:
diff changeset
    44
                if(input[i].name===metaName){
74bbdd739878 views, path, search...
cavaliet
parents:
diff changeset
    45
                    found = true;
74bbdd739878 views, path, search...
cavaliet
parents:
diff changeset
    46
                    return input[i].value;
74bbdd739878 views, path, search...
cavaliet
parents:
diff changeset
    47
                }
74bbdd739878 views, path, search...
cavaliet
parents:
diff changeset
    48
                i++;
74bbdd739878 views, path, search...
cavaliet
parents:
diff changeset
    49
            }
2
36ccc573af9a clean search resource
cavaliet
parents: 1
diff changeset
    50
            return '';
1
74bbdd739878 views, path, search...
cavaliet
parents:
diff changeset
    51
        };
74bbdd739878 views, path, search...
cavaliet
parents:
diff changeset
    52
    });
74bbdd739878 views, path, search...
cavaliet
parents:
diff changeset
    53
74bbdd739878 views, path, search...
cavaliet
parents:
diff changeset
    54
})();