Files
edx-platform/lms/static/js/courseware/toggle_element_visibility.js
Peter Fogg 244843d929 Track events on the course home page.
Events are added for accessing the courseware, entering the verified
upgrade flow, and toggling a course update.

ECOM-2983
2016-02-03 13:58:24 -05:00

49 lines
2.1 KiB
JavaScript

;(function (define) {
'use strict';
define(['jquery', 'logger', 'moment'],
function ($, Logger, moment) {
return function () {
// define variables for code legibility
var toggleActionElements = $('.toggle-visibility-button');
var updateToggleActionText = function (elementIsHidden, actionElement) {
var show_text = actionElement.data('show');
var hide_text = actionElement.data('hide');
if (elementIsHidden) {
if (hide_text) {
actionElement.html(actionElement.data('hide'));
} else {
actionElement.hide();
}
} else {
if (show_text) {
actionElement.html(actionElement.data('show'));
}
}
};
$.each(toggleActionElements, function (i, elem) {
var toggleActionElement = $(elem),
toggleTargetElement = toggleActionElement.siblings('.toggle-visibility-element'),
elementIsHidden = toggleTargetElement.is(':visible'),
date = toggleTargetElement.siblings('.date').text();
updateToggleActionText(elementIsHidden, toggleActionElement);
toggleActionElement.on('click', function (event) {
event.preventDefault();
toggleTargetElement.toggleClass('hidden');
updateToggleActionText(!toggleTargetElement.hasClass('hidden'), toggleActionElement);
Logger.log('edx.course.home.course_update.toggled', {
action: elementIsHidden ? 'hide' : 'show',
publish_date: moment(date, 'MMM DD, YYYY').format()
});
});
});
};
});
})(define || RequireJS.define);