education.js 1.0 KB

123456789101112131415161718192021222324252627282930
  1. // Show more rows in the taken courses table
  2. function toggleCourseVisibility (elem) {
  3. // find the courses
  4. const courses = elem.parentNode.getElementsByClassName('course')
  5. if (courses == null) {
  6. return
  7. }
  8. // toggle hidden-course class from the third elements
  9. for (const course of courses) {
  10. if (course.classList.contains('hidden-course') || course.classList.contains('toggled-hidden-course')) {
  11. course.classList.toggle('hidden-course')
  12. course.classList.add('toggled-hidden-course')
  13. }
  14. }
  15. // toggle the buttons visibility
  16. const buttonsToToggle = elem.parentNode.getElementsByClassName('show-more-btn')
  17. for (const buttonToToggle of buttonsToToggle) {
  18. buttonToToggle.classList.toggle('hidden')
  19. }
  20. }
  21. window.addEventListener('DOMContentLoaded', () => {
  22. const els = Array.from(document.getElementsByClassName('btn'));
  23. els.filter((el) => el != null && (el.id == 'show-more-btn' || el.id == 'show-less-btn')).forEach((el) =>
  24. el.addEventListener('click', ({ target }) =>
  25. toggleCourseVisibility(target)))
  26. })