mirror of
https://github.com/moodle/moodle.git
synced 2025-01-18 05:58:34 +01:00
MDL-60675 analytics: Error when selecting invalid insight
This commit is contained in:
parent
159b4e5d8c
commit
ae4522ff55
@ -1109,6 +1109,7 @@ class single_select implements renderable, templatable {
|
||||
if (is_string($this->nothing) && $this->nothing !== '') {
|
||||
$nothing = ['' => $this->nothing];
|
||||
$hasnothing = true;
|
||||
$nothingkey = '';
|
||||
} else if (is_array($this->nothing)) {
|
||||
$nothingvalue = reset($this->nothing);
|
||||
if ($nothingvalue === 'choose' || $nothingvalue === 'choosedots') {
|
||||
@ -1117,6 +1118,7 @@ class single_select implements renderable, templatable {
|
||||
$nothing = $this->nothing;
|
||||
}
|
||||
$hasnothing = true;
|
||||
$nothingkey = key($this->nothing);
|
||||
}
|
||||
if ($hasnothing) {
|
||||
$options = $nothing + $this->options;
|
||||
@ -1129,11 +1131,17 @@ class single_select implements renderable, templatable {
|
||||
foreach ($options[$value] as $optgroupname => $optgroupvalues) {
|
||||
$sublist = [];
|
||||
foreach ($optgroupvalues as $optvalue => $optname) {
|
||||
$sublist[] = [
|
||||
$option = [
|
||||
'value' => $optvalue,
|
||||
'name' => $optname,
|
||||
'selected' => strval($this->selected) === strval($optvalue),
|
||||
];
|
||||
|
||||
if ($hasnothing && $nothingkey == $optvalue) {
|
||||
$option['ignore'] = 'data-ignore';
|
||||
}
|
||||
|
||||
$sublist[] = $option;
|
||||
}
|
||||
$data->options[] = [
|
||||
'name' => $optgroupname,
|
||||
@ -1142,12 +1150,18 @@ class single_select implements renderable, templatable {
|
||||
];
|
||||
}
|
||||
} else {
|
||||
$data->options[] = [
|
||||
$option = [
|
||||
'value' => $value,
|
||||
'name' => $options[$value],
|
||||
'selected' => strval($this->selected) === strval($value),
|
||||
'optgroup' => false
|
||||
];
|
||||
|
||||
if ($hasnothing && $nothingkey == $value) {
|
||||
$option['ignore'] = 'data-ignore';
|
||||
}
|
||||
|
||||
$data->options[] = $option;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -105,7 +105,7 @@
|
||||
</optgroup>
|
||||
{{/optgroup}}
|
||||
{{^optgroup}}
|
||||
<option value="{{value}}" {{#selected}}selected{{/selected}}>{{{name}}}</option>
|
||||
<option {{ignore}} value="{{value}}" {{#selected}}selected{{/selected}}>{{{name}}}</option>
|
||||
{{/optgroup}}
|
||||
{{/options}}
|
||||
</select>
|
||||
@ -117,7 +117,10 @@
|
||||
{{#js}}
|
||||
require(['jquery'], function($) {
|
||||
$('#{{id}}').change(function() {
|
||||
$('#{{formid}}').submit();
|
||||
var ignore = $(this).find(':selected').attr('data-ignore');
|
||||
if (typeof ignore === typeof undefined) {
|
||||
$('#{{formid}}').submit();
|
||||
}
|
||||
});
|
||||
});
|
||||
{{/js}}
|
||||
|
Loading…
x
Reference in New Issue
Block a user