diff options
Diffstat (limited to 'js/curriculum.js')
-rw-r--r-- | js/curriculum.js | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/js/curriculum.js b/js/curriculum.js new file mode 100644 index 0000000..f6d6b35 --- /dev/null +++ b/js/curriculum.js @@ -0,0 +1,43 @@ +define(['courses'], function(courses) { + 'use strict'; + + function makeCoursesList(courseCallback) { + var years_list = document.createElement('ul'); + years_list.className = 'year'; + // courses.schedule[YEAR][quartile][coursesIdx] + courses.schedule.forEach(function(year) { + var year_item = document.createElement('li'); + years_list.appendChild(year_item); + var quartiles_list = document.createElement('ul'); + quartiles_list.className = 'quartile'; + year_item.appendChild(quartiles_list); + + // [year][QUARTILE][coursesIdx] + year.forEach(function(quartile) { + var quartile_item = document.createElement('li'); + quartiles_list.appendChild(quartile_item); + var courses_list = document.createElement('ul'); + courses_list.className = 'courses'; + quartile_item.appendChild(courses_list); + + // [year][quartile][COURSESIDX] + quartile.forEach(function(course) { + var course_item = document.createElement('li'); + courses_list.appendChild(course_item); + + // display course information + courseCallback(course_item, course); + }); + }); + }); + return years_list; + } + + return function() { + // navigation + var cmenu = document.getElementById("curriculum-menu"); + cmenu.appendChild(makeCoursesList(function(course_item, course) { + course_item.textContent = course.id + ' ' + course.name; + })); + }; +}); |