082a3d2418e8a153606a4aec38474b6add60ea07
[moodle.git] / theme / boost / templates / core_form / element-template.mustache
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/>.
16 }}
17 {{!
18     @template core_form/element-template
20     Template for the form element wrapper template.
22     Context variables required for this template:
23     * label
24     * required
25     * advanced
26     * helpbutton
27     * error
28     * element
29         * id
30         * name
32     Example context (json):
33     {
34         "label": "Course full name",
35         "required": true,
36         "advanced": false,
37         "error": null,
38         "element": {
39             "id": "id_fullname",
40             "name": "fullname"
41         }
42     }
43 }}
44 <div class="form-group row {{#error}}has-danger{{/error}} fitem {{#advanced}}advanced{{/advanced}} {{{element.extraclasses}}}">
45     <div class="col-md-3">
46         <span class="pull-xs-right text-nowrap">
47             {{#required}}<abbr class="initialism text-danger" title="{{#str}}required{{/str}}">{{#pix}}req, core, {{#str}}required{{/str}}{{/pix}}</abbr>{{/required}}
48             {{#advanced}}<abbr class="initialism text-info" title="{{#str}}advanced{{/str}}">!</abbr>{{/advanced}}
49             {{{helpbutton}}}
50         </span>
51         {{^element.staticlabel}}
52         <label class="col-form-label d-inline {{#element.hiddenlabel}}sr-only{{/element.hiddenlabel}}" for="{{element.id}}">
53             {{{label}}}
54         </label>
55         {{/element.staticlabel}}
56         {{#element.staticlabel}}
57         <span class="col-form-label d-inline-block {{#element.hiddenlabel}}sr-only{{/element.hiddenlabel}}">
58             {{{label}}}
59         </span>
60         {{/element.staticlabel}}
61     </div>
62     <div class="col-md-9 form-inline felement" data-fieldtype="{{element.type}}">
63         {{$ element }}
64             <!-- Element goes here -->
65         {{/ element }}
66         <div class="form-control-feedback" id="id_error_{{element.name}}" {{^error}} style="display: none;"{{/error}}>
67             {{{error}}}
68         </div>
69     </div>
70 </div>
71 {{#js}}
72 require(['theme_boost/form-display-errors'], function(module) {
73     module.enhance({{#quote}}{{element.id}}{{/quote}});
74 });
75 {{/js}}