"use strict"; angular.module("vocabulary") .component("lessonTopic", { templateUrl: "/js/redesign-angular/lessons/lesson-topic.html", controller: "LessonTopicController", bindings: { topicId: "<", onDataRetrieved: "&", onCloseLesson: "&" } }) .controller("LessonTopicController", ["$state", "topicService", "$sce", function ( $state, topicService, $sce) { var ctrl = this; this.$onInit = init; ctrl.haveTopicData = false; ctrl.haveDescriptionData = false; ctrl.haveMetaData = false; ctrl.words = []; function init(){ ctrl.tab = 1; topicService.getEllTopicSummary(ctrl.topicId).then(function(data){ ctrl.topicData = data; if (ctrl.topicData.description){ ctrl.haveDescriptionData = true; } if(ctrl.topicData.area){ ctrl.haveMetaData = true; } ctrl.haveTopicData = true; ctrl.onDataRetrieved(); }); } ctrl.setMenuPopover = function (popoverCtrl) { ctrl.menuPopoverCtrl = popoverCtrl; }; ctrl.closeMenuPopover = function () { if (ctrl.menuPopoverCtrl) { ctrl.menuPopoverCtrl.close(); } }; ctrl.newYourLesson = function(){ var params = { origin: 'topic', id: ctrl.topicId }; $state.go('lesson.premade', params); }; ctrl.closeLesson = function(){ ctrl.onCloseLesson(); }; ctrl.setTab = function(tabId){ ctrl.tab = tabId; }; ctrl.isSet = function(tabId){ return ctrl.tab === tabId; }; ctrl.showTabOptions = function(){ return ctrl.haveDescriptionData; }; ctrl.getDescription = function(){ return $sce.trustAsHtml(ctrl.topicData.description); }; ctrl.getMetaData = function(){ return $sce.trustAsHtml(ctrl.topicData.area); }; }]);