{{!
    This file is part of Moodle - http://moodle.org/

    Moodle is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    Moodle is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with Moodle.  If not, see <http://www.gnu.org/licenses/>.
}}
{{!
    @template core_courseformat/local/content

    Displays the complete course format.

    Example context (json):
    {
        "initialsection": {
                "num": 0,
                "id": 34,
                "cmlist": {
                    "cms": [
                        {
                            "cmitem": {
                                "cmformat": {
                                    "cmname": "<a class=\"aalink\" href=\"#\"><span class=\"instancename\">Forum example</span></a>",
                                    "hasname": "true"
                                },
                                "id": 3,
                                "cmid": 3,
                                "module": "forum",
                                "extraclasses": "newmessages",
                                "anchor": "module-3"
                            }
                        }
                    ],
                    "hascms": true
                },
                "iscurrent": true,
                "summary": {
                    "summarytext": "Summary text!"
                }
            },
        "sections": [
            {
                "num": 1,
                "id": 35,
                "header": {
                    "name": "Section title",
                    "url": "#",
                    "headinglevel": 3
                },
                "cmlist": {
                    "cms": [
                        {
                            "cmitem": {
                                "cmformat": {
                                    "cmname": "<a class=\"aalink\" href=\"#\"><span class=\"instancename\">Another forum</span></a>",
                                    "hasname": "true"
                                },
                                "id": 4,
                                "cmid": 4,
                                "module": "forum",
                                "extraclasses": "newmessages",
                                "anchor": "module-4"
                            }
                        }
                    ],
                    "hascms": true
                },
                "iscurrent": true,
                "summary": {
                    "summarytext": "Summary text!"
                }
            },
            {
                "num": 4,
                "id": 36,
                "header": {
                    "name": "Section 2 title",
                    "url": "#",
                    "headinglevel": 3
                },
                "cmlist": {
                    "cms": [
                        {
                            "cmitem": {
                                "cmformat": {
                                    "cmname": "<a class=\"aalink\" href=\"#\"><span class=\"instancename\">Forum example</span></a>",
                                    "hasname": "true"
                                },
                                "id": 5,
                                "cmid": 5,
                                "module": "forum",
                                "extraclasses": "newmessages",
                                "anchor": "module-5"
                            }
                        }
                    ],
                    "hascms": true
                },
                "iscurrent": true,
                "summary": {
                    "summarytext": "Summary text!"
                }
            }
        ],
        "format": "topics",
        "title": "Course title example",
            "hasnavigation": true,
            "sectionnavigation": {
            "hasprevious": true,
            "previousurl": "#",
            "larrow": "&#x25C4;",
            "previousname": "Section 3",
            "hasnext": true,
            "rarrow": "&#x25BA;",
            "nexturl": "#",
            "nextname": "Section 5"
        },
        "sectionselector": {
            "hasprevious": true,
            "previousurl": "#",
            "larrow": "&#x25C4;",
            "previousname": "Section 3",
            "hasnext": true,
            "rarrow": "&#x25BA;",
            "nexturl": "#",
            "nextname": "Section 5",
            "selector": "<select><option>Section 4</option></select>"
        },
        "sectionreturn": 1,
        "singlesection": {
            "num": 5,
            "id": 37,
            "header": {
                "name": "Single Section Example",
                "url": "#",
                "headinglevel": 3
            },
            "cmlist": {
                "cms": [
                    {
                        "cmitem": {
                            "cmformat": {
                                "cmname": "<a class=\"aalink\" href=\"#\"><span class=\"instancename\">Assign example</span></a>",
                                "hasname": "true"
                            },
                            "id": 6,
                            "cmid": 6,
                            "module": "assign",
                            "extraclasses": "",
                            "anchor": "module-6"
                        }
                    }
                ],
                "hascms": true
            },
            "iscurrent": true,
            "summary": {
                "summarytext": "Summary text!"
            }
        }
    }
}}
<div id="course-format-{{uniqid}}">
    <h2 class="accesshide">{{{title}}}</h2>
    {{{completionhelp}}}
    <ul class="{{format}} section-list" data-for="course_sectionlist">
        {{#initialsection}}
            {{$ core_courseformat/local/content/section }}
                {{> core_courseformat/local/content/section }}
            {{/ core_courseformat/local/content/section }}
        {{/initialsection}}
        {{#sections}}
            {{$ core_courseformat/local/content/section }}
                {{> core_courseformat/local/content/section }}
            {{/ core_courseformat/local/content/section }}
        {{/sections}}
    </ul>
    {{#hasnavigation}}
    <div class="single-section">
        {{#sectionnavigation}}
            {{$ core_courseformat/local/content/sectionnavigation }}
                {{> core_courseformat/local/content/sectionnavigation }}
            {{/ core_courseformat/local/content/sectionnavigation }}
        {{/sectionnavigation}}
        <ul class="{{format}} section-list">
        {{#singlesection}}
            {{$ core_courseformat/local/content/section }}
                {{> core_courseformat/local/content/section }}
            {{/ core_courseformat/local/content/section }}
        {{/singlesection}}
        </ul>
        {{#sectionselector}}
            {{$ core_courseformat/local/content/sectionselector }}
                {{> core_courseformat/local/content/sectionselector }}
            {{/ core_courseformat/local/content/sectionselector }}
        {{/sectionselector}}
    </div>
    {{/hasnavigation}}
    {{#numsections}}
        {{^singlesection}}
            {{$ core_courseformat/local/content/addsection}}
                {{> core_courseformat/local/content/addsection}}
            {{/ core_courseformat/local/content/addsection}}
        {{/singlesection}}
    {{/numsections}}
    {{#bulkedittools}}
        {{$ core_courseformat/local/content/bulkedittools}}
            {{> core_courseformat/local/content/bulkedittools}}
        {{/ core_courseformat/local/content/bulkedittools}}
    {{/bulkedittools}}
</div>
{{#js}}
require(['core_courseformat/local/content'], function(component) {
    component.init(
        '#page', {}, {{sectionreturn}}, {{#pagesectionid}}{{.}}{{/pagesectionid}}{{^pagesectionid}}null{{/pagesectionid}}
    );
});
{{/js}}
