Merge branch 'MDL-35171' of git://github.com/merrill-oakland/moodle
[moodle.git] / course / format / weeks / format.js
1 // Javascript functions for Weeks course format
3 M.course = M.course || {};
5 M.course.format = M.course.format || {};
7 /**
8  * Get sections config for this format
9  *
10  * The section structure is:
11  * <ul class="weeks">
12  *  <li class="section">...</li>
13  *  <li class="section">...</li>
14  *   ...
15  * </ul>
16  *
17  * @return {object} section list configuration
18  */
19 M.course.format.get_config = function() {
20     return {
21         container_node : 'ul',
22         container_class : 'weeks',
23         section_node : 'li',
24         section_class : 'section'
25     };
26 }
28 /**
29  * Swap section
30  *
31  * @param {YUI} Y YUI3 instance
32  * @param {string} node1 node to swap to
33  * @param {string} node2 node to swap with
34  * @return {NodeList} section list
35  */
36 M.course.format.swap_sections = function(Y, node1, node2) {
37     var CSS = {
38         COURSECONTENT : 'course-content',
39         SECTIONADDMENUS : 'section_add_menus',
40     };
42     var sectionlist = Y.Node.all('.'+CSS.COURSECONTENT+' '+M.course.format.get_section_selector(Y));
43     // Swap menus
44     sectionlist.item(node1).one('.'+CSS.SECTIONADDMENUS).swap(sectionlist.item(node2).one('.'+CSS.SECTIONADDMENUS));
45 }
47 /**
48  * Process sections after ajax response
49  *
50  * @param {YUI} Y YUI3 instance
51  * @param {array} response ajax response
52  * @param {string} sectionfrom first affected section
53  * @param {string} sectionto last affected section
54  * @return void
55  */
56 M.course.format.process_sections = function(Y, sectionlist, response, sectionfrom, sectionto) {
57     var CSS = {
58         SECTIONNAME : 'sectionname'
59     };
61     if (response.action == 'move') {
62         // update titles in all affected sections
63         for (var i = sectionfrom; i <= sectionto; i++) {
64             sectionlist.item(i).one('.'+CSS.SECTIONNAME).setContent(response.sectiontitles[i]);
65         }
66     }
67 }