Files
edx-platform/themes/example/lms/static/js/course-about.js
2016-08-19 09:18:52 -04:00

71 lines
3.4 KiB
JavaScript

(function(require) {
'use strict';
require([
'edx-ui-toolkit/js/utils/html-utils',
'/static/example/js/leanModal.js'
], function(HtmlUtils) { // eslint-disable-line no-unused-vars // jshint ignore:line
function expandDescription(entireDescriptionContent) {
var showLessLinkHtml = '<a id="description_less" href="#" class="brand-link">Less</a>';
HtmlUtils.setHtml('.course-description', HtmlUtils.HTML(entireDescriptionContent + showLessLinkHtml));
$('#description_less').click(function(event) {
event.preventDefault();
truncateDescription(entireDescriptionContent); // eslint-disable-line no-use-before-define
});
}
function truncateDescription(entireDescriptionContent) {
var showMoreLink = '',
truncatedContent = '';
if (entireDescriptionContent.length > 500) {
showMoreLink = '... <a id="description_show" href="#" class="brand-link">See More</a>';
truncatedContent = entireDescriptionContent.substring(0, entireDescriptionContent.indexOf(' ', 500));
HtmlUtils.setHtml('.course-description', HtmlUtils.HTML(truncatedContent + showMoreLink));
$('#description_show').click(function(event) {
event.preventDefault();
expandDescription(entireDescriptionContent);
});
}
}
function expandLearningPoints(entireLearningContent) {
var showLessLinkHtml = '<a id="learning_less" href="#" class="brand-link learning-points-btn">Less</a>';
HtmlUtils.setHtml(
'.course-learning .list-bulleted',
HtmlUtils.HTML(entireLearningContent + showLessLinkHtml)
);
$('#learning_less').click(function() {
truncateLearningPoints(entireLearningContent); // eslint-disable-line no-use-before-define
});
}
function truncateLearningPoints(entireLearningContent) {
var learningPointsCount = $('.course-learning .list-bulleted').children().length,
points = '',
showMoreLink = '';
if (learningPointsCount > 6) {
points = $('.course-learning .list-bulleted').children().slice((6 - learningPointsCount));
points.remove();
showMoreLink = '<a id="learning_show" href="#" class="brand-link learning-points-btn">See More</a>';
HtmlUtils.append('.course-learning .list-bulleted', HtmlUtils.HTML(showMoreLink));
$('#learning_show').click(function(event) {
event.preventDefault();
expandLearningPoints(entireLearningContent);
});
}
}
function init() {
var entireDescriptionContent = $('.course-description').html(),
entireLearningContent = $('.course-learning .list-bulleted').html();
// Truncating the Course Description
truncateDescription(entireDescriptionContent);
// Truncating the Course learning points
truncateLearningPoints(entireLearningContent);
// Instructor Modal
$('.instructor-image').leanModal({closeButton: '.modal_close', top: '10%'});
}
init();
});
}).call(this, require || RequireJS.require);