(function(){ "use strict"; angular.module('raz') .component('resourceCardDisplay', { templateUrl: '/js/angular/resource-slider/resource-card-display.html', controller: 'resourceCardDisplay', bindings: { resource: '<' } }) .controller('resourceCardDisplay', ['constantValues','$sce', function (constantValues, $sce) { var ctrl = this; ctrl.getHref = function() { if (ctrl.resource.resourceType === constantValues.TYPE_LEVELED_BOOKS) { return '/books/leveled-books/book/?id=' + ctrl.resource.resourceId + '&langId=' + ctrl.resource.languageId; } else if (ctrl.resource.resourceType === constantValues.TYPE_DECODABLE_BOOK) { return '/book/decodable.php?id=' + ctrl.resource.level.substring(7); } else if (ctrl.resource.resourceType === constantValues.TYPE_CLOSE_READ_PASSAGES) { return '/literacy-skills/close-read-passages/close-read-passage/?close_read_passage_id=' + ctrl.resource.resourceId; } else if (ctrl.resource.resourceType === constantValues.TYPE_CLASSIC_BOOKS) { return '/books/classics/classic/?id=' + ctrl.resource.resourceId; } else { return '/book.php?id=' + ctrl.resource.resourceId + '&langId=' + ctrl.resource.languageId; } }; ctrl.trustAsHtml = $sce.trustAsHtml; ctrl.getLinkClass = function() { return 'resourceCard-' + ctrl.resource.metadata.orientation; }; ctrl.getImageClass = function() { var classname = "resourceCard_img"; if (ctrl.resource.metadata.thumbnailSrc.indexOf("resource-card") < 0) { classname += " resourceCard_img-notCropped"; } return classname; }; ctrl.getClassBasedOnLevel = function() { if (ctrl.resource.metadata.level !== undefined && ctrl.resource.metadata.level !== null && ctrl.resource.metadata.level.startsWith('Lesson ')) { return 'resourceCard_metaData'; // decodable books uses this class } return 'razReadingLevel razReadingLevel-med razReadingLevel-' + ctrl.resource.metadata.level; }; ctrl.isResourceBook = function() { return ctrl.resource.deliverableType === 'book'; }; }]); })();