"use strict"; angular.module("vocabulary") .component("lessonCardOverview", { templateUrl: "/js/redesign-angular/lessons/lesson-card-overview.html", controller: "LessonCardOverviewController", bindings: { lessonData: "<", resourceId: "<", lessonWordOrder: "<" } }) .controller("LessonCardOverviewController", ["windowService", "$location", "orderByFilter", "assignVocabLessonService", "FeatureCheck", function(windowService, $location, orderByFilter, assignVocabLessonService, FeatureCheck){ var ctrl = this; this.$onInit = init; ctrl.previewPDFLink = null; ctrl.downloadPDFLink = null; ctrl.previewDigitalLessonLink = null; function init() { var previewName = ctrl.lessonData.name.replace(/[^\w\s]|_/g, "").replace(/\s+/g, " "); var throttleParams = "/uri/" + btoa($location.absUrl()) + "/abbr/vocab"; var lessonId = ctrl.lessonData['premadeId'] ? ctrl.lessonData['premadeId'] : ctrl.lessonData['id']; if (ctrl.lessonData.type === 'raz_premade') { ctrl.previewPDFLink = '/main/downloadlesson/preview/bookid/' + ctrl.resourceId + throttleParams + '/' + previewName; ctrl.downloadPDFLink = '/main/downloadlesson/bookid/' + ctrl.resourceId + throttleParams; } else { ctrl.previewPDFLink = '/main/downloadlesson/preview/lessonid/' + lessonId + '/type/' + ctrl.lessonData['type']+ throttleParams + '/' + previewName; ctrl.downloadPDFLink = '/main/downloadlesson/lessonid/' + lessonId + '/type/' + ctrl.lessonData['type']+ throttleParams; } ctrl.previewDigitalLessonLink = '/main/vocabularylessonpreview/lessonid/' + lessonId + '/type/' + ctrl.lessonData['type']; } ctrl.downloadLesson = function(){ windowService.redirect(ctrl.downloadPDFLink); }; ctrl.setOptionsPopover = function (popoverCtrl) { ctrl.optionsPopoverCtrl = popoverCtrl; }; ctrl.closeOptionsPopover = function () { if (ctrl.optionsPopoverCtrl) { ctrl.optionsPopoverCtrl.close(); } }; ctrl.doKeyDown = function (event){ modalKeyDown(event,ctrl.closeOptionsPopover,"js-options-link","closeBtn"); }; ctrl.closeOptions = function(){ ctrl.closeOptionsPopover(); }; ctrl.offerDigitalLessonFeatures = function () { return true; }; ctrl.getOrderedLessonWords = function () { if(FeatureCheck.isFeatureEnabled('VAZ_REDESIGN_LESSON_WORD_ORDER')) { switch (ctrl.lessonWordOrder) { case 'As Entered': return orderByFilter(ctrl.lessonData.words, 'lessonEntryOrder'); case 'Alphabetical': return orderByFilter(ctrl.lessonData.words, 'wordName'); default: return orderByFilter(ctrl.lessonData.words, 'lessonEntryOrder'); } } else { return orderByFilter(ctrl.lessonData.words, 'wordName'); } }; ctrl.isDigitalLessonPreviewable = function () { return ctrl.lessonData.words.length >= assignVocabLessonService.getAssignableWordMinimum(); } } ]);