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
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 }}
|
|
|