client/app/search/search_controller.js
author cavaliet
Mon, 06 Oct 2014 12:59:13 +0200
changeset 6 4be9f21f2df1
parent 2 36ccc573af9a
child 7 e70f1c4785f3
permissions -rw-r--r--
show/hide texts
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 ){
6
4be9f21f2df1 show/hide texts
cavaliet
parents: 2
diff changeset
    18
              // TEMP : add random pict
4be9f21f2df1 show/hide texts
cavaliet
parents: 2
diff changeset
    19
              for(var i=data.hits.length-1; i>=0; i--){
4be9f21f2df1 show/hide texts
cavaliet
parents: 2
diff changeset
    20
                  data.hits[i].url = 'http://placekitten.com/g/' + (100+Math.floor((Math.random()*600)+1)) + '/' + (100+Math.floor((Math.random()*600)+1));
4be9f21f2df1 show/hide texts
cavaliet
parents: 2
diff changeset
    21
              }
1
74bbdd739878 views, path, search...
cavaliet
parents:
diff changeset
    22
              $scope.results = data;
74bbdd739878 views, path, search...
cavaliet
parents:
diff changeset
    23
          },
74bbdd739878 views, path, search...
cavaliet
parents:
diff changeset
    24
          //error
74bbdd739878 views, path, search...
cavaliet
parents:
diff changeset
    25
          function( error ){
2
36ccc573af9a clean search resource
cavaliet
parents: 1
diff changeset
    26
              alert('Erreur avec la requĂȘte', error);
1
74bbdd739878 views, path, search...
cavaliet
parents:
diff changeset
    27
          }
74bbdd739878 views, path, search...
cavaliet
parents:
diff changeset
    28
      );
74bbdd739878 views, path, search...
cavaliet
parents:
diff changeset
    29
      
2
36ccc573af9a clean search resource
cavaliet
parents: 1
diff changeset
    30
      $scope.addItem = function(i){
36ccc573af9a clean search resource
cavaliet
parents: 1
diff changeset
    31
          console.log('addItem',i);
36ccc573af9a clean search resource
cavaliet
parents: 1
diff changeset
    32
          if($scope.results.hits.length>0 && 0<=i && i<$scope.results.hits.length){
36ccc573af9a clean search resource
cavaliet
parents: 1
diff changeset
    33
              
36ccc573af9a clean search resource
cavaliet
parents: 1
diff changeset
    34
          }
36ccc573af9a clean search resource
cavaliet
parents: 1
diff changeset
    35
      };
1
74bbdd739878 views, path, search...
cavaliet
parents:
diff changeset
    36
    })
74bbdd739878 views, path, search...
cavaliet
parents:
diff changeset
    37
    .filter('meta', function() {
74bbdd739878 views, path, search...
cavaliet
parents:
diff changeset
    38
        return function(input, metaName) {
74bbdd739878 views, path, search...
cavaliet
parents:
diff changeset
    39
            var nb = input.length, i = 0, found = false;
74bbdd739878 views, path, search...
cavaliet
parents:
diff changeset
    40
            while(found===false && i<nb){
74bbdd739878 views, path, search...
cavaliet
parents:
diff changeset
    41
                if(input[i].name===metaName){
74bbdd739878 views, path, search...
cavaliet
parents:
diff changeset
    42
                    found = true;
74bbdd739878 views, path, search...
cavaliet
parents:
diff changeset
    43
                    return input[i].value;
74bbdd739878 views, path, search...
cavaliet
parents:
diff changeset
    44
                }
74bbdd739878 views, path, search...
cavaliet
parents:
diff changeset
    45
                i++;
74bbdd739878 views, path, search...
cavaliet
parents:
diff changeset
    46
            }
2
36ccc573af9a clean search resource
cavaliet
parents: 1
diff changeset
    47
            return '';
1
74bbdd739878 views, path, search...
cavaliet
parents:
diff changeset
    48
        };
74bbdd739878 views, path, search...
cavaliet
parents:
diff changeset
    49
    });
74bbdd739878 views, path, search...
cavaliet
parents:
diff changeset
    50
74bbdd739878 views, path, search...
cavaliet
parents:
diff changeset
    51
})();