25 lines
977 B
Plaintext
25 lines
977 B
Plaintext
var COURSE_TEASER_EXPANDED_CLASS = 'course-teaser__expanded';
|
|
var COURSE_TEASER_CHEVRON_CLASS = 'course-teaser__chevron';
|
|
|
|
document.addEventListener('DOMContentLoaded', function() {
|
|
var courseTeaserId = #{String courseId};
|
|
var courseTeaser = document.querySelector('#courseteaser-' + courseTeaserId);
|
|
|
|
courseTeaser.addEventListener('click', function(event) {
|
|
var isLink = event.target.tagName.toLowerCase() === 'a';
|
|
var isChevron = event.target.classList.contains(COURSE_TEASER_CHEVRON_CLASS);
|
|
var isExpanded = courseTeaser.classList.contains(COURSE_TEASER_EXPANDED_CLASS);
|
|
|
|
if ((!isExpanded && !isLink) || isChevron) {
|
|
courseTeaser.classList.toggle(COURSE_TEASER_EXPANDED_CLASS);
|
|
}
|
|
});
|
|
|
|
courseTeaser.addEventListener('keydown', function(event) {
|
|
var eventKey = event.key;
|
|
if (eventKey === ' ' || eventKey === 'Enter') {
|
|
event.preventDefault();
|
|
courseTeaser.classList.toggle(COURSE_TEASER_EXPANDED_CLASS);
|
|
}
|
|
});
|
|
}); |