(function () { "use strict"; angular .module('shared') .component('unitAssignmentButton', { transclude: true, templateUrl: '/js/angular/unit-assignment/unit-assignment-button.html', controller: 'unitAssignmentButton', bindings: { unitId: '@' } }) .controller('unitAssignmentButton', unitAssignmentButton); unitAssignmentButton.$inject = ['unitAssignment', 'messageHandler', 'LazModalService', 'studentList', 'Authorization', 'SiteHelper']; function unitAssignmentButton(unitAssignment, messageHandler, LazModalService, studentList, Authorization, SiteHelper) { var ctrl = this; ctrl.openModal = openModal; function openModal() { unitAssignment.getUnitAssignmentInfo(ctrl.unitId) .then(function(unitAssignmentInfo) { showUnitAssignmentModal(unitAssignmentInfo.data); }, function(reason) { messageHandler.publishError('There was a problem showing the assignment. Please try again later.'); }); } function showUnitAssignmentModal(unitAssignmentInfo) { studentList.annotateSelectableStudents([ Authorization.studentWithoutPrivilegeCheckerFactory(SiteHelper.SAZ_SITE_ABBREVIATION) ]); LazModalService.showModal({ templateUrl: '/js/angular/unit-assignment/unit-assignment-modal.html', controller: 'unitAssignmentModal', controllerAs: '$ctrl', hideCloseButton: 'true', overrideClass: 'js-none', inputs: { unitAssignmentInfo: unitAssignmentInfo } }) .catch(function(reason) { messageHandler.publishError('There was a problem showing the assignment. Please try again later.'); }); } } })();