snipt/media/js/src/jobs.js

51 lines
1.1 KiB
JavaScript
Raw Normal View History

2013-09-05 22:09:07 -07:00
'use strict';
(function(window) {
if (typeof angular !== 'undefined') {
var root = window;
var $ = root.jQuery;
var controllers = {};
var app = root.app;
app.filter('startFrom', function() {
return function(input, start) {
start = +start;
2013-09-05 22:15:44 -07:00
return input ? input.slice(start) : input;
2013-09-05 22:09:07 -07:00
};
});
// Controllers.
controllers.JobSearchController = function($http, $scope, filterFilter, $timeout) {
2013-09-05 22:09:07 -07:00
$scope.currentPage = 0;
$scope.pageSize = 10;
$http.get('/jobs-json/').then(function(response) {
$scope.jobs = response.data;
$scope.filterJobs();
2013-09-05 22:09:07 -07:00
});
$scope.filterJobs = function() {
$scope.filteredJobs = filterFilter($scope.jobs, $scope.query);
2013-09-06 07:42:38 -07:00
$scope.currentPage = 0;
};
2013-09-05 22:09:07 -07:00
$scope.numberOfPages = function() {
if ($scope.filteredJobs) {
return Math.ceil($scope.filteredJobs.length / $scope.pageSize);
2013-09-05 22:15:44 -07:00
}
2013-09-05 22:09:07 -07:00
};
$scope.$watch('query', function (val) {
$scope.filterJobs();
});
2013-09-05 22:09:07 -07:00
};
// Assign the controllers.
app.controller(controllers);
}
})(window);