{{!
    This file is part of Moodle - http://moodle.org/

    Moodle is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    Moodle is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with Moodle.  If not, see <http://www.gnu.org/licenses/>.
}}
{{!
    @template core_form/element-template

    Template for the form element wrapper template.

    Context variables required for this template:
    * label
    * required
    * advanced
    * helpbutton
    * error
    * element
        * id
        * name

    Example context (json):
    {
        "label": "Course full name",
        "required": true,
        "advanced": false,
        "error": null,
        "element": {
            "wrapperid": "fitem_id_fullname",
            "id": "id_fullname",
            "name": "fullname"
        }
    }
}}
<div id="{{element.wrapperid}}" class="mb-3 row {{#error}}has-danger{{/error}} fitem {{#element.emptylabel}}femptylabel{{/element.emptylabel}} {{#advanced}}advanced{{/advanced}} {{{element.extraclasses}}} {{{element.parentclasses}}}" {{#element.groupname}}data-groupname="{{.}}"{{/element.groupname}}>
    <div class="col-md-3 col-form-label d-flex pb-0 pr-md-0">
        {{# label}}{{$ label }}
            {{^element.staticlabel}}
                <label id="{{element.id}}_label" class="d-inline word-break {{#element.hiddenlabel}}sr-only{{/element.hiddenlabel}}" for="{{element.id}}">
                    {{{label}}}
                </label>
            {{/element.staticlabel}}
            {{#element.staticlabel}}
                <span class="d-inline-block {{#element.hiddenlabel}}sr-only{{/element.hiddenlabel}}">
                    {{{label}}}
                </span>
            {{/element.staticlabel}}
        {{/ label }}{{/ label}}
        <div class="form-label-addon d-flex align-items-center align-self-start">
            {{#required}}
                <div class="text-danger" title="{{#str}}required{{/str}}">
                {{#pix}}req, core, {{#str}}required{{/str}}{{/pix}}
                </div>
            {{/required}}
            {{{helpbutton}}}
        </div>
    </div>
    <div class="col-md-9 d-flex flex-wrap align-items-start felement" data-fieldtype="{{element.type}}">
        {{$ element }}
            <!-- Element goes here -->
        {{/ element }}
        <div class="form-control-feedback invalid-feedback" id="{{element.iderror}}" {{#error}} style="display: block;"{{/error}}>
            {{{error}}}
        </div>
    </div>
</div>
{{#js}}
require(['theme_boost/form-display-errors'], function(module) {
    module.enhance({{#quote}}{{element.id}}{{/quote}});
});
{{/js}}
