diff options
author | Endi S. Dewata <edewata@redhat.com> | 2011-09-20 15:12:05 -0500 |
---|---|---|
committer | Endi S. Dewata <edewata@redhat.com> | 2011-09-23 13:15:57 +0000 |
commit | eaf0a83ab1388310b65f2d781ea27a61c9678f5d (patch) | |
tree | fae79eef17db1528375f8a82906cde397d5946ab /install | |
parent | 8e95d1eb4e916c5fb218d161f568afaac0a06f0f (diff) | |
download | freeipa-eaf0a83ab1388310b65f2d781ea27a61c9678f5d.tar.gz freeipa-eaf0a83ab1388310b65f2d781ea27a61c9678f5d.tar.xz freeipa-eaf0a83ab1388310b65f2d781ea27a61c9678f5d.zip |
Fixed problem on combobox with search limit.
The IPA.combobox_widget has been modified such that if the drop-down
list doesn't contain the stored value (due to search limit) it will
not select anything from the list.
The widget has also been modified not to select the value that matches
the filter automatically because that might not be the user's intention.
Ticket #1819
Diffstat (limited to 'install')
-rw-r--r-- | install/ui/widget.js | 19 |
1 files changed, 7 insertions, 12 deletions
diff --git a/install/ui/widget.js b/install/ui/widget.js index 4a02cb7d8..0c07d655d 100644 --- a/install/ui/widget.js +++ b/install/ui/widget.js @@ -1670,12 +1670,7 @@ IPA.combobox_widget = function(spec) { keypress: function(e) { if (e.which == 13) { // Enter var filter = that.filter.val(); - that.search( - filter, - function(data, text_status, xhr) { - that.select(filter); - } - ); + that.search(filter); } } }).appendTo(div); @@ -1685,12 +1680,7 @@ IPA.combobox_widget = function(spec) { icon: 'search-icon', click: function() { var filter = that.filter.val(); - that.search( - filter, - function(data, text_status, xhr) { - that.select(filter); - } - ); + that.search(filter); return false; } }).appendTo(div); @@ -1783,11 +1773,16 @@ IPA.combobox_widget = function(spec) { var option; if (value) { + // select specified value option = $('option[value="'+value+'"]', that.list); } else { + // select first available option option = $('option', that.list).first(); } + // if no option found, skip + if (!option.length) return; + option.attr('selected', 'selected'); that.set_value(option.val()); |