"use strict"; angular.module("vocabulary") .component("premadeReading", { templateUrl: "/js/redesign-angular/premadeLessons/premade-reading.html", controller: "PremadeReadingController", bindings:{ parentCategoryId: "<", categoryId: "<", levels: "<", resources: "<", onUpdateNavigation: "&" } }) .controller("PremadeReadingController", ['premadeService', 'premadeNavigationService', function (premadeService, premadeNavigationService) { var ctrl = this; ctrl.pagedResources = []; ctrl.selectedLevels = []; this.$onInit = init; function init(){ ctrl.initialLevel = premadeNavigationService.getCurrentRazReadingLevel(); ctrl.onUpdateNavigation({ $event:{ selectedParentCategoryId: parseInt(ctrl.parentCategoryId, 10), selectedSubCategoryId: parseInt(ctrl.categoryId, 10) } }); } ctrl.updateFilteredResources = function(event){ ctrl.filteredResources = event.filteredResources; }; ctrl.updatePagedResources = function(page){ var headerLevels = page.map(function(item){ return item.levelName; }); ctrl.displayLevels = headerLevels.filter(function(value, index, self){ return self.indexOf(value) === index; }); ctrl.pagedResources = page; }; ctrl.displayFilter = function(levelToDisplay){ return function(resource){ return resource.levelName == levelToDisplay; } }; ctrl.getCurrentLessonId = function () { return premadeNavigationService.getSelectedPremadeLessonId(); }; ctrl.updateShowPopover = function(event){ if(event.listingId === ctrl.getCurrentLessonId()){ premadeNavigationService.setSelectedPremadeLessonId(null); } else{ premadeNavigationService.setSelectedPremadeLessonId(event.listingId); } }; ctrl.showPopover = function(listingId){ return(listingId === ctrl.getCurrentLessonId()); }; }]);