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.
88 lines
3.0 KiB
88 lines
3.0 KiB
2 years ago
|
{{!
|
||
|
@template core/url_select
|
||
|
|
||
|
Example context (json):
|
||
|
{
|
||
|
"id": "url_select_test",
|
||
|
"action": "https://example.com/post",
|
||
|
"formid": "url_select_form",
|
||
|
"sesskey": "sesskey",
|
||
|
"label": "core/url_select",
|
||
|
"helpicon": {
|
||
|
"title": "Help with something",
|
||
|
"text": "Help with something",
|
||
|
"url": "http://example.org/help",
|
||
|
"linktext": "",
|
||
|
"icon":{
|
||
|
"extraclasses": "iconhelp",
|
||
|
"attributes": [
|
||
|
{"name": "src", "value": "../../../pix/help.svg"},
|
||
|
{"name": "alt", "value": "Help icon"}
|
||
|
]
|
||
|
}
|
||
|
},
|
||
|
"showbutton": "Go",
|
||
|
"options": [{
|
||
|
"name": "Group 1", "isgroup": true, "options":
|
||
|
[
|
||
|
{"name": "Item 1", "isgroup": false, "value": "1"},
|
||
|
{"name": "Item 2", "isgroup": false, "value": "2"}
|
||
|
]},
|
||
|
{"name": "Group 2", "isgroup": true, "options":
|
||
|
[
|
||
|
{"name": "Item 3", "isgroup": false, "value": "3"},
|
||
|
{"name": "Item 4", "isgroup": false, "value": "4"}
|
||
|
]}],
|
||
|
"disabled": false,
|
||
|
"title": "Some cool title"
|
||
|
}
|
||
|
}}
|
||
|
<div class="{{classes}}">
|
||
|
<form method="post" action="{{action}}" class="form-inline" id="{{formid}}">
|
||
|
<input type="hidden" name="sesskey" value="{{sesskey}}">
|
||
|
{{#label}}
|
||
|
<label for="{{id}}"{{#labelattributes}} {{name}}="{{value}}"{{/labelattributes}}>
|
||
|
{{label}}
|
||
|
</label>
|
||
|
{{/label}}
|
||
|
{{#helpicon}}
|
||
|
{{>core/help_icon}}
|
||
|
{{/helpicon}}
|
||
|
<select {{#attributes}}{{name}}="{{value}}" {{/attributes}} id="{{id}}" class="custom-select {{classes}}" name="jump"
|
||
|
{{#title}}title="{{.}}"{{/title}} {{#disabled}}disabled{{/disabled}}>
|
||
|
{{#options}}
|
||
|
{{#isgroup}}
|
||
|
<optgroup label="{{name}}">
|
||
|
{{#options}}
|
||
|
<option value="{{value}}" {{#selected}}selected{{/selected}}>{{{name}}}</option>
|
||
|
{{/options}}
|
||
|
</optgroup>
|
||
|
{{/isgroup}}
|
||
|
{{^isgroup}}
|
||
|
<option value="{{value}}" {{#selected}}selected{{/selected}}>{{{name}}}</option>
|
||
|
{{/isgroup}}
|
||
|
{{/options}}
|
||
|
</select>
|
||
|
{{#showbutton}}
|
||
|
<input type="submit" class="btn btn-secondary" value="{{showbutton}}">
|
||
|
{{/showbutton}}
|
||
|
{{^showbutton}}
|
||
|
<noscript>
|
||
|
<input type="submit" class="btn btn-secondary" value="{{#str}}go, core{{/str}}">
|
||
|
</noscript>
|
||
|
{{/showbutton}}
|
||
|
</form>
|
||
|
</div>
|
||
|
{{^showbutton}}
|
||
|
{{#js}}
|
||
|
require(['jquery'], function($) {
|
||
|
$('#{{id}}').change(function() {
|
||
|
if (!$(this).val()) {
|
||
|
return false;
|
||
|
}
|
||
|
$('#{{formid}}').submit();
|
||
|
});
|
||
|
});
|
||
|
{{/js}}
|
||
|
{{/showbutton}}
|