- .controller('SearchCtrl', function(Model, $scope, $location, $document) {
-
- $scope.query = '';
-
- $scope.reset = function() {
- $scope.activeItem = 0;
- $scope.results = [];
- }
-
- $scope.update = function(e) {
- if(e.keyCode == 38) {
- $scope.selectUp();
- } else if(e.keyCode == 40) {
- $scope.selectDown();
- } else if(e.keyCode == 27) {
- $scope.selectEscape();
- } else if(e.keyCode == 13) {
- $scope.selectEnter();
- }
- }
+ /* Search */
+
+ .config(function($stateProvider, $locationProvider) {
+ $stateProvider
+ .state('search', {
+ url: '/search?q&p&n',
+ controller: 'SearchCtrl',
+ controllerAs: 'vm',
+ templateUrl: 'views/search.html',
+ resolve: {
+ entities: function(Model, $q, $stateParams, $state) {
+ var d = $q.defer();
+ var query = $stateParams.q;
+ var page = $stateParams.p ? $stateParams.p : 1;
+ var limit = $stateParams.n ? $stateParams.n : 10;
+ Model.search(query, page, limit, d.resolve,
+ function() {
+ $state.go('404', null, { location: false })
+ });
+ return d.promise;
+ }
+ }
+ })
+ })