You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

127 lines
4.4 KiB

{{!
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-select
Simple select form element template.
Context variables required for this template:
* id - Element id,
* nameraw - Raw Element name without '[]'
* name - Element name,
* label - Element label,
* multiple - multi select?,
* checked - checked?,
* error - Is there an error associated with this element?,
* size - Element size,
* value - Element value,
* helpbutton - Helpbutton,
* hiddenlabel - Element hidden flag,
* frozen - Element frozen flag,
* hardfrozen - Element hard fronzen flag,
* extraclasses - Extra classes assocaited,
* type - Element type,
* attributes - Element attributes,
* options - [
{
text - Option text,
value - Option value,
selected - Selected?,
disabled - Disabled?,
optionattributes - Option attributes
}
]
Example context (json):
{
"element": {
"id": "id_maildisplay",
"nameraw": "maildisplay",
"name": "maildisplay",
"label": null,
"multiple": null,
"checked": null,
"error": null,
"size": null,
"value": null,
"helpbutton": "",
"hiddenlabel": false,
"frozen": false,
"hardfrozen": false,
"extraclasses": null,
"type": "select",
"attributes": "",
"options": [
{
"text": "Hide my email address from non-privileged users",
"value": 0,
"selected": false,
"disabled": false,
"optionattributes": ""
},
{
"text": "Allow everyone to see my email address",
"value": 1,
"selected": true,
"disabled": false,
"optionattributes": ""
},
{
"text": "Allow only other course members to see my email address",
"value": 2,
"selected": false,
"disabled": false,
"optionattributes": ""
}
]
}
}
}}
{{< core_form/element-template }}
{{$element}}
{{^element.frozen}}
{{#element.multiple}}
<input type="hidden" name="{{element.nameraw}}" value="_qf__force_multiselect_submission">
{{/element.multiple}}
<select class="{{^element.multiple}}custom-select{{/element.multiple}}
{{#element.multiple}}form-control{{/element.multiple}}
{{#error}}is-invalid{{/error}}"
name="{{element.name}}"
id="{{element.id}}"
{{#element.multiple}}multiple size="{{element.size}}"{{/element.multiple}}
{{#error}}
autofocus aria-describedby="{{element.iderror}}"
{{/error}}
{{{element.attributes}}} >
{{#element.options}}
<option value="{{value}}" {{#selected}}selected{{/selected}} {{#disabled}}disabled{{/disabled}}
{{{optionattributes}}}>{{{text}}}</option>
{{/element.options}}
</select>
{{/element.frozen}}
{{#element.frozen}}
{{#element.options}}
{{#selected}}
{{{text}}}
{{^element.hardfrozen}}
<input type="hidden" name="{{element.name}}" value="{{value}}" id="{{element.id}}">
{{/element.hardfrozen}}
{{/selected}}
{{/element.options}}
{{/element.frozen}}
{{/element}}
{{/ core_form/element-template }}