(function() { "use strict"; angular.module('shared') .component('resourceContainer', { templateUrl: '/shared/js/angular/book-grid/resource-container.html', controller: 'resourceContainerController', bindings: { razPlus : '@' } }) .controller('resourceContainerController', ['ResourceList','constantValues', function ResourceContainerController(ResourceList,constantValues) { var ctrl = this; ctrl.$onInit = function () { ResourceList.setRazPlus(ctrl.razPlus); }; ctrl.getPending = function() { return ResourceList.getPending(); }; ctrl.showGridView = function() { return ResourceList.getView() === constantValues.GRID_VIEW; }; ctrl.showListView = function() { return ResourceList.getView() === constantValues.LIST_VIEW; }; ctrl.showLevelsAndFilters = function() { return ResourceList.getType() === constantValues.TYPE_LEVELED_BOOKS; }; ctrl.showShowMeOnly = function() { return ResourceList.getType() === constantValues.TYPE_FICTION_SERIES || ResourceList.getType() === constantValues.TYPE_GRAPHIC_COMIC_HUMOR_BOOKS|| ResourceList.getType() === constantValues.POETRY_NURSERY_SONG; }; ctrl.showLevels = function() { return ResourceList.getType() === constantValues.TYPE_LEVELED_BOOKS; }; ctrl.showFilters = function() { return ResourceList.getType() === constantValues.TYPE_LEVELED_BOOKS; }; ctrl.showPager = function() { return ResourceList.getView() === constantValues.GRID_VIEW && ctrl.numPages() > 1; }; ctrl.numPages = function() { return Math.ceil(ResourceList.getFilteredBooksCount() / constantValues.RESOURCES_PER_PAGE); }; ctrl.setPageFromPager = function(page) { console.log('setPageFromPager'); if (page === undefined || page.length < 1) { return; } var pageNum = (page[0] + constantValues.RESOURCES_PER_PAGE) / constantValues.RESOURCES_PER_PAGE; if (pageNum < 1 || pageNum > ctrl.numPages()) { console.log('invalid page request'); return; } ResourceList.setCurrentPage(pageNum); }; ctrl.pagerItems = function() { return _.range(0, ResourceList.getFilteredBooksCount()); }; }]); }());