MDL-78962 core/loadingicon: remove jQuery requirement in the API
[moodle.git] / lib / templates / checkbox-toggleall-master-button.mustache
blob7ebc0d0fac26b2fbd7293b2078d85e67c2113eaa
1 {{!
2     This file is part of Moodle - http://moodle.org/
4     Moodle is free software: you can redistribute it and/or modify
5     it under the terms of the GNU General Public License as published by
6     the Free Software Foundation, either version 3 of the License, or
7     (at your option) any later version.
9     Moodle is distributed in the hope that it will be useful,
10     but WITHOUT ANY WARRANTY; without even the implied warranty of
11     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12     GNU General Public License for more details.
14     You should have received a copy of the GNU General Public License
15     along with Moodle.  If not, see <http://www.gnu.org/licenses/>.
17 {{!
18     @template core/checkbox-toggleall-master-button
20     Template for a master button in a toggle group. The master button toggles the checked states of the slave checkboxes.
22     Data attributes required for JS:
23     * data-action
24     * data-toggle
25     * data-togglegroup
27     Example context (json):
28     {
29         "id": "select-all",
30         "name": "select-all",
31         "togglegroup": "toggle-group",
32         "label": "Select everything!",
33         "checked": true,
34         "classes": "btn-primary btn-lg",
35         "selectall": "Select all",
36         "deselectall": "Deselect all"
37     }
39 <button type="button" id="{{id}}" name="{{name}}" class="btn {{^classes}}btn-secondary{{/classes}}{{#classes}}{{.}}{{/classes}}"
40         data-action="toggle"
41         data-toggle="master"
42         data-togglegroup="{{togglegroup}}"
43         data-toggle-selectall="{{selectall}}"
44         data-toggle-deselectall="{{deselectall}}"
45         data-checkall="{{#checked}}0{{/checked}}{{^checked}}1{{/checked}}">
46     {{#checked}}{{deselectall}}{{/checked}}
47     {{^checked}}{{selectall}}{{/checked}}
48 </button>
50 {{#js}}
51     require(['core/checkbox-toggleall'], function(ToggleAll) {
52         ToggleAll.init();
53     });
54 {{/js}}