"use strict"; angular.module("vocabulary") .component("yourLesson", { templateUrl: "/js/redesign-angular/yourLessons/your-lesson.html", controller: "YourLessonController", bindings: { categoryName: '<', categoryId: '<', lessons: '<', parentCategoryId: '<', onUpdateCategory: '&', onDeleteCategory: '&', onInitCategory: '&' } }) .controller("YourLessonController", ["categoryService", function (categoryService) { var ctrl = this; this.$onInit = init; ctrl.lessonId = null; ctrl.copiedLessonId = null; ctrl.style = { "margin" : "0 auto 400px", "width" : "300px" }; function init(){ ctrl.showLessonCard = false; ctrl.onInitCategory({ $event:{ categoryId: parseInt(ctrl.categoryId, 10) } }); } ctrl.hasLessons = function(){ return ctrl.lessons.length > 0; }; ctrl.updateShowPopover = function(event){ if(event.lessonId === ctrl.lessonId){ ctrl.lessonId = null; } else { ctrl.lessonId = event.lessonId; } }; ctrl.showPopover = function(lessonId){ return lessonId === ctrl.lessonId; }; ctrl.isCopiedLesson = function(lessonId){ return lessonId === ctrl.copiedLessonId; }; ctrl.refreshLessonsAfterCopy = function(event){ ctrl.copiedLessonId = event.lessonId; ctrl.refreshLessons(); }; ctrl.refreshLessons = function(){ categoryService.getCategoryLessons(ctrl.categoryId) .then(function(categoryLessons){ ctrl.lessons = categoryLessons; }); }; ctrl.deleteCategory = function(){ ctrl.onDeleteCategory(); }; ctrl.updateCategory = function(){ ctrl.onUpdateCategory() }; }]);