diff options
author | Petr Vobornik <pvoborni@redhat.com> | 2014-02-27 18:21:05 +0100 |
---|---|---|
committer | Petr Vobornik <pvoborni@redhat.com> | 2014-03-20 08:57:42 +0100 |
commit | fddb2212bc3394068ba0cd6aebbfcf2e77cb6def (patch) | |
tree | 891556c9c078d553cc463dd963fa41e8213c081e /install/ui/src | |
parent | c82c598163996997570807827e02de11ca541c94 (diff) | |
download | freeipa-fddb2212bc3394068ba0cd6aebbfcf2e77cb6def.tar.gz freeipa-fddb2212bc3394068ba0cd6aebbfcf2e77cb6def.tar.xz freeipa-fddb2212bc3394068ba0cd6aebbfcf2e77cb6def.zip |
webui-css: improve radio,checkbox keyboard support and color
checkboxes and radio buttons:
- do not change color on hover when disabled
- are focusable and checkable be keyboard again. This uses a little
trick where the real checkbox is hidden under the artificial
checkbox. That way it has the same position and therefore it
works even in containers with overflow set.
https://fedorahosted.org/freeipa/ticket/4217
Reviewed-By: Adam Misnyovszki <amisnyov@redhat.com>
Diffstat (limited to 'install/ui/src')
-rw-r--r-- | install/ui/src/freeipa/widget.js | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/install/ui/src/freeipa/widget.js b/install/ui/src/freeipa/widget.js index 6ee61c658..f3b6c97d7 100644 --- a/install/ui/src/freeipa/widget.js +++ b/install/ui/src/freeipa/widget.js @@ -1166,6 +1166,10 @@ IPA.option_widget_base = function(spec, that) { var id = that._option_next_id + input_name; var enabled = that.enabled && option.enabled; + var opt_cont = $('<span/>', { + "class": that.intput_type + }).appendTo(container); + option.input_node = $('<input/>', { id: id, type: that.input_type, @@ -1174,13 +1178,13 @@ IPA.option_widget_base = function(spec, that) { value: option.value, title: option.tooltip || that.tooltip, change: that.on_input_change - }).appendTo(container); + }).appendTo(opt_cont); option.label_node = $('<label/>', { html: option.label || '', title: option.tooltip || that.tooltip, 'for': id - }).appendTo(container); + }).appendTo(opt_cont); that.new_option_id(); }; @@ -1557,6 +1561,10 @@ IPA.standalone_option = function(spec, container, label) { spec.type = spec.type || 'checkbox'; + var opt_cont = $('<span/>', { + 'class': spec.type + }); + var input = $('<input/>', spec); if (!label) { @@ -1571,11 +1579,12 @@ IPA.standalone_option = function(spec, container, label) { }); if (container) { - input.appendTo(container); - label_el.appendTo(container); + input.appendTo(opt_cont); + label_el.appendTo(opt_cont); + opt_cont.appendTo(container); } - return [input, label_el]; + return [input, label_el, opt_cont]; }; /** |