(function(){ 'use strict'; angular.module('raz') .component('lcmWeek', { templateUrl: '/js/angular/literacy-curriculum-map/components/lcm-week.html', controller: 'LCMWeekController', require: { parentLazAccordion: '^^lazAccordion' }, bindings: { gradeIndex: '<', weekFolder: '<', items: '<' } }) .controller('LCMWeekController', LCMWeekController); LCMWeekController.$inject = ['IS_FOUNDATIONAL_SKILLS', 'lcmGradeService', 'lazAccordionService', 'lazAccessRestrictionService', '_']; function LCMWeekController (IS_FOUNDATIONAL_SKILLS, lcmGradeService, lazAccordionService, lazAccessRestrictionService, _) { var ctrl = this; ctrl.isPending = false; ctrl.$onInit = function() { ctrl.isPending = true; if (ctrl.parentLazAccordion.isAccordionItemActive(ctrl.weekFolder.id)) { lcmGradeService.getLCMGroupFoldersForWeek(ctrl.weekFolder) .then(function(response) { ctrl.groupFolders = response; }) .finally(function() { ctrl.isPending = false; }); } } ctrl.isLoading = function() { return ctrl.isPending; }; ctrl.isAuthorized = function () { return lazAccessRestrictionService.isAuthorized(); }; ctrl.hasReachAllLearnersFolder = function(blockFolder) { var doesHave = false; if (blockFolder['children']) { var ralFolders = ctrl.getReachAllLearnersFolders(blockFolder); if (ralFolders) { _.each(ralFolders, function(element){ if (element['resources']) { doesHave = true; } }); } } return doesHave; } ctrl.getReachAllLearnersFolders = function(blockFolder) { if (blockFolder['children']) { var ralFolder = null; _.each(blockFolder['children'], function(element){ if (element['name'] === 'Reaching All Learners' || element['name'] === 'Reach All Learners') { ralFolder = element; } }); if (ralFolder && ralFolder['children']) { return ralFolder['children']; } return null; } } ctrl.isFoundationalSkills = function() { return IS_FOUNDATIONAL_SKILLS; } ctrl.isFSBlock = function(blockFolder) { return ( blockFolder && blockFolder['name'] && (blockFolder['name'].indexOf('Phonics') >= 0 || blockFolder['name'].indexOf('Phonological') >= 0) ); } } })();