{{!
    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/checkbox-toggleall-master-button

    Template for a master button in a toggle group. The master button toggles the checked states of the slave checkboxes.

    Data attributes required for JS:
    * data-action
    * data-toggle
    * data-togglegroup

    Example context (json):
    {
        "id": "select-all",
        "name": "select-all",
        "togglegroup": "toggle-group",
        "label": "Select everything!",
        "checked": true,
        "classes": "btn-primary btn-lg",
        "selectall": "Select all",
        "deselectall": "Deselect all"
    }
}}
<button type="button" id="{{id}}" name="{{name}}" class="btn {{^classes}}btn-secondary{{/classes}}{{#classes}}{{.}}{{/classes}}"
        data-action="toggle"
        data-toggle="master"
        data-togglegroup="{{togglegroup}}"
        data-toggle-selectall="{{selectall}}"
        data-toggle-deselectall="{{deselectall}}"
        data-checkall="{{#checked}}0{{/checked}}{{^checked}}1{{/checked}}">
    {{#checked}}{{deselectall}}{{/checked}}
    {{^checked}}{{selectall}}{{/checked}}
</button>

{{#js}}
    require(['core/checkbox-toggleall'], function(ToggleAll) {
        ToggleAll.init();
    });
{{/js}}
