(function() { "use strict"; angular.module('shared') .component('resourceContainer', { templateUrl: '/shared/js/angular/book-grid/resource-container.html', controller: 'resourceContainerController' }) .controller('resourceContainerController', ['ResourceList','constantValues','SITE_ID','SiteHelper', function ResourceContainerController(ResourceList,constantValues,SITE_ID,SiteHelper) { var ctrl = this; ctrl.$onInit = function () { var isRazPlus = (parseInt(SITE_ID) === SiteHelper.RAZ_PLUS_SITE_ID) ? "y" : "n"; ResourceList.setRazPlus(isRazPlus); }; 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_LEVELED_BOOKS && ResourceList.getType() !== constantValues.TYPE_DISTANCE_LEARNING; }; 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) { 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()); }; }]); }());