MDL-67518 phpunit: avoid DB sorting randomness in test
[moodle.git] / lib / form / templates / 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             "wrapperid": "fitem_id_fullname",
40             "id": "id_fullname",
41             "name": "fullname"
42         }
43     }
44 }}
45 <div id="{{element.wrapperid}}" class="form-group row {{#error}}has-danger{{/error}} fitem {{#element.emptylabel}}femptylabel{{/element.emptylabel}} {{#advanced}}advanced{{/advanced}} {{{element.extraclasses}}}" {{#element.groupname}}data-groupname="{{.}}"{{/element.groupname}}>
46     <div class="col-md-3">
47         <span class="float-sm-right text-nowrap">
48             {{#required}}<abbr class="initialism text-danger" title="{{#str}}required{{/str}}">{{#pix}}req, core, {{#str}}required{{/str}}{{/pix}}</abbr>{{/required}}
49             {{#advanced}}<abbr class="initialism text-info" title="{{#str}}advanced{{/str}}">!</abbr>{{/advanced}}
50             {{{helpbutton}}}
51         </span>
52         {{$ label }}
53             {{^element.staticlabel}}
54                 <label class="col-form-label d-inline {{#element.hiddenlabel}}sr-only{{/element.hiddenlabel}}" for="{{element.id}}">
55                     {{{label}}}
56                 </label>
57             {{/element.staticlabel}}
58             {{#element.staticlabel}}
59                 <span class="col-form-label d-inline-block {{#element.hiddenlabel}}sr-only{{/element.hiddenlabel}}">
60                     {{{label}}}
61                 </span>
62             {{/element.staticlabel}}
63         {{/ label }}
64     </div>
65     <div class="col-md-9 form-inline felement" data-fieldtype="{{element.type}}">
66         {{$ element }}
67             <!-- Element goes here -->
68         {{/ element }}
69         <div class="form-control-feedback invalid-feedback" id="{{element.iderror}}" {{#error}} style="display: block;"{{/error}}>
70             {{{error}}}
71         </div>
72     </div>
73 </div>
74 {{#js}}
75 require(['theme_boost/form-display-errors'], function(module) {
76     module.enhance({{#quote}}{{element.id}}{{/quote}});
77 });
78 {{/js}}