Files
edx-platform/lms/static/js/courseware/toggle_element_visibility.js

43 lines
1.6 KiB
JavaScript

;(function (define) {
'use strict';
define(["jquery"],
function ($) {
return function () {
// define variables for code legibility
var toggleActionElements = $('.toggle-visibility-button');
var updateToggleActionText = function (targetElement, actionElement) {
var show_text = actionElement.data('show');
var hide_text = actionElement.data('hide');
if (targetElement.is(":visible")) {
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);
var toggleTargetElement = toggleActionElement.siblings('.toggle-visibility-element');
updateToggleActionText(toggleTargetElement, toggleActionElement);
toggleActionElement.on('click', function (event) {
event.preventDefault();
toggleTargetElement.toggleClass('hidden');
updateToggleActionText(toggleTargetElement, toggleActionElement);
});
});
};
});
})(define || RequireJS.define);