(function() { "use strict"; angular.module("raz") .component('lcmSsTable', { templateUrl: '/js/angular/literacy-curriculum-map/components/lcm-ss-table.html', controller: 'lcmSsTableController', bindings: { unit: "<", gradeId: "<" } }) .controller("lcmSsTableController", ['coreSkills', 'lcmObjectiveStandardsService', 'lcmStateSelectorService', 'lcmStandardsCheckboxService', 'lazAccessRestrictionService', '$sce', function (coreSkills, lcmObjectiveStandardsService, lcmStateSelectorService, lcmStandardsCheckboxService, lazAccessRestrictionService, $sce) { var ctrl = this; ctrl.coreSkillNames = coreSkills.CORE_SKILL_NAMES; ctrl.coreSkillsOrder = coreSkills.CORE_SKILL_ORDER; ctrl.$onInit = function () { ctrl.page = '/literacy-curriculum-map/scope-sequence/#!/grade' + ctrl.gradeId.toUpperCase(); lazAccessRestrictionService.setPageAfterLogin(ctrl.page); ctrl.unitWeeks = ctrl.unit.unitWeeks; ctrl.coreSkillsFound = ctrl.unit.coreSkillsFound; ctrl.objectivesForSkillInWeekMap = ctrl.unit.objectivesForSkillInWeekMap; setCoreSkillsForUnit(); ctrl.currentState = lcmStateSelectorService.getSelectedState(); lcmStateSelectorService.onUpdate(stateSelectorHasChanged); ctrl.showObjectiveStandards = lcmStandardsCheckboxService.getShowStandards(); lcmStandardsCheckboxService.onUpdate(toggleShowStandards); }; ctrl.getWeeklyQuestion = function (question) { if (question) { return question.substring(17); } return ''; }; ctrl.getObjectivesForSkillInWeek = function (skillId, unitWeek) { return ctrl.objectivesForSkillInWeekMap[unitWeek.id][skillId]; }; ctrl.getObjectiveStandardsCodes = function (coreSkillObjectiveMapId) { return lcmObjectiveStandardsService.getObjectiveStandardsCodes(coreSkillObjectiveMapId, ctrl.currentState.state_id); }; ctrl.getObjectiveStandards = function (coreSkillObjectiveMapId) { if (ctrl.currentState) { return lcmObjectiveStandardsService.getObjectiveStandards(coreSkillObjectiveMapId, ctrl.currentState.state_id); } return null; }; ctrl.getObjectiveName = function (objective) { var name = objective['objective_name']; var target = objective['target_skill_text']; if (target) { name += ': ' + target; } return name; }; ctrl.checkAuthorization = function (event, pageAfterLogin, downloadPath) { if (!lazAccessRestrictionService.isAuthorized()) { event.preventDefault(); event.stopPropagation(); lazAccessRestrictionService.loginIfNotAuthorized(pageAfterLogin, downloadPath); } }; ctrl.isAuthorized = function () { return lazAccessRestrictionService.isAuthorized(); }; ctrl.trustAsHtml = function (html) { return $sce.trustAsHtml(html); }; function stateSelectorHasChanged(newState) { ctrl.currentState = newState; } function toggleShowStandards() { ctrl.showObjectiveStandards = !ctrl.showObjectiveStandards; } function setCoreSkillsForUnit() { ctrl.coreSkills = []; _.each(ctrl.coreSkillsOrder, function (coreSkill) { if (ctrl.coreSkillsFound[coreSkill]) { ctrl.coreSkills.push(coreSkill); } }); } }]); })();