MDL-75012 js: Bump stylelint and components
[moodle.git] / lib / templates / checkbox-toggleall-master.mustache
blob7b6f149db103fab4afebc5d47b346b101eaeaccd
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
20     Template for a master checkbox in a toggle group. The master checkbox 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": "p-1",
35         "selectall": "Select all",
36         "deselectall": "Deselect all",
37         "labelclasses": "badge badge-info"
38     }
40 <input id="{{id}}" name="{{name}}" type="checkbox" {{#classes}}class="{{.}}"{{/classes}} value="{{value}}"
41        data-action="toggle"
42        data-toggle="master"
43        data-togglegroup="{{togglegroup}}"
44        data-toggle-selectall="{{selectall}}"
45        data-toggle-deselectall="{{deselectall}}"
46        {{#checked}}checked="checked"{{/checked}}
48 {{#label}}
49     <label for="{{id}}" class="{{labelclasses}}">{{.}}</label>
50 {{/label}}
52 {{#js}}
53     require(['core/checkbox-toggleall'], function(ToggleAll) {
54         ToggleAll.init();
55     });
56 {{/js}}