| 1 | efrain | 1 | {{!
 | 
        
           |  |  | 2 |     This file is part of Moodle - http://moodle.org/
 | 
        
           |  |  | 3 |   | 
        
           |  |  | 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.
 | 
        
           |  |  | 8 |   | 
        
           |  |  | 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.
 | 
        
           |  |  | 13 |   | 
        
           |  |  | 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/>.
 | 
        
           |  |  | 16 | }}
 | 
        
           |  |  | 17 | {{!
 | 
        
           |  |  | 18 |     @template core_admin/setting_configmulticheckbox
 | 
        
           |  |  | 19 |   | 
        
           |  |  | 20 |     Admin multicheckbox setting template.
 | 
        
           |  |  | 21 |   | 
        
           |  |  | 22 |     Context variables required for this template:
 | 
        
           |  |  | 23 |     * name - form element name
 | 
        
           |  |  | 24 |     * hasoptions - there are some options
 | 
        
           |  |  | 25 |     * options - list of options containing name, key, id, checked, label
 | 
        
           |  |  | 26 |   | 
        
           |  |  | 27 |     Example context (json):
 | 
        
           |  |  | 28 |     {
 | 
        
           |  |  | 29 |         "name": "test",
 | 
        
           |  |  | 30 |         "hasoptions": true,
 | 
        
           |  |  | 31 |         "options": [ { "name": "Option", "key": "k1", "id": "id0", "checked": true, "label": "Option label"} ]
 | 
        
           |  |  | 32 |     }
 | 
        
           |  |  | 33 | }}
 | 
        
           |  |  | 34 | <div class="form-multicheckbox form-checkbox defaultsnext custom-controls-stacked mr-2">
 | 
        
           |  |  | 35 |     <input type="hidden" name="{{name}}[xxxxx]" value="1">
 | 
        
           |  |  | 36 |     {{#hasoptions}}
 | 
        
           |  |  | 37 |         <ul>
 | 
        
           |  |  | 38 |             {{#options}}
 | 
        
           |  |  | 39 |                 <li>
 | 
        
           |  |  | 40 |                     <div class="custom-control custom-switch my-2">
 | 
        
           |  |  | 41 |                         <input type="checkbox" class="custom-control-input" type="checkbox" name="{{name}}[{{key}}]" value="1" id="{{id}}_{{key}}" {{#checked}}checked{{/checked}}>
 | 
        
           |  |  | 42 |                         <label class="custom-control-label" for="{{id}}_{{key}}">
 | 
        
           |  |  | 43 |                             {{{label}}}
 | 
        
           |  |  | 44 |                         </label>
 | 
        
           |  |  | 45 |                     </div>
 | 
        
           |  |  | 46 |                 </li>
 | 
        
           |  |  | 47 |             {{/options}}
 | 
        
           |  |  | 48 |         </ul>
 | 
        
           |  |  | 49 |     {{/hasoptions}}
 | 
        
           |  |  | 50 | </div>
 |