"use strict"; angular.module("vocabulary") .component("premadeSeries", { templateUrl: "/js/redesign-angular/premadeLessons/premade-series.html", controller: "PremadeSeriesController", bindings: { categoryId: "<", parentCategoryId: "<", levels: "<", resources: "<", onUpdateNavigation: "&" } }) .controller("PremadeSeriesController", ["premadeNavigationService", function (premadeNavigationService) { var ctrl = this; this.$onInit = init; ctrl.filterField="serialId"; function init(){ ctrl.onUpdateNavigation({ $event:{ selectedParentCategoryId: parseInt(ctrl.parentCategoryId, 10), selectedSubCategoryId: parseInt(ctrl.categoryId, 10) } }); ctrl.filteredResources = ctrl.resources; } ctrl.updateFilteredResources = function(event){ ctrl.filteredResources = event.filteredResources; }; ctrl.updatePagedResources = function(page){ var headerLevels = page.map(function(item){ return item.serialId; }); ctrl.displaySeries = headerLevels.filter(function(value, index, self){ return self.indexOf(value) === index; }); ctrl.pagedResources = page; }; ctrl.displayFilter = function(seriesToDisplay){ return function(resource){ return resource.serialId == seriesToDisplay; } }; ctrl.getDisplayName = function(seriesId){ var seriesInfo = ctrl.levels.filter(function(level){ return level.seriesId== seriesId; }); return seriesInfo[0]['name']; }; ctrl.getDescription = function(seriesId){ var seriesInfo = ctrl.levels.filter(function(level){ return level.seriesId== seriesId; }); return seriesInfo[0]['description']; }; 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()); }; }]);