(function() { "use strict"; angular.module("raz") .component('fsSsTable', { templateUrl: '/js/angular/literacy-curriculum-map/components/fs-ss-table.html', controller: 'fsSsTableController', bindings: { units: "<", gradeId: "<" } }) .controller("fsSsTableController", ['lcmStateSelectorService', 'lcmStandardsCheckboxService', 'lazAccessRestrictionService', 'coreSkills', '$sce', 'lcmObjectiveStandardsService', function (lcmStateSelectorService, lcmStandardsCheckboxService, lazAccessRestrictionService, coreSkills, $sce, lcmObjectiveStandardsService) { var ctrl = this; ctrl.coreSkillsColumnOrder = coreSkills.CORE_SKILL_COLUMN_ORDER; ctrl.$onInit = function () { ctrl.page = '/foundational-skills/scope-sequence/#!/grade' + ctrl.gradeId.toUpperCase(); lazAccessRestrictionService.setPageAfterLogin(ctrl.page); ctrl.currentState = lcmStateSelectorService.getSelectedState(); lcmStateSelectorService.onUpdate(stateSelectorHasChanged); ctrl.showObjectiveStandards = lcmStandardsCheckboxService.getShowStandards(); lcmStandardsCheckboxService.onUpdate(toggleShowStandards); }; ctrl.getObjectivesForSkillInWeek = function (week, skillId) { return ctrl.units.objectivesForSkillInWeekMap[week.id][skillId]; }; ctrl.getObjectiveName = function (objective, skillId) { if (skillId == 'hf_words') { return objective['target_skill_text']; } var name = objective['objective_name']; var target = objective['target_skill_text']; if (target) { name += ': ' + target; } return name; }; 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 false; }; 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; } }]); })();