diff options
author | Endi S. Dewata <edewata@redhat.com> | 2011-09-30 21:25:47 -0500 |
---|---|---|
committer | Martin Kosek <mkosek@redhat.com> | 2011-10-05 15:08:07 +0200 |
commit | e9c8581ffcd4a43c4e812037a076967e0d968261 (patch) | |
tree | 5085096b8b73ce3b5f4ffee556266759fa17ee0c /install | |
parent | c76bbd5129c42b2fbce81e4621f160443b2dcb67 (diff) | |
download | freeipa-e9c8581ffcd4a43c4e812037a076967e0d968261.tar.gz freeipa-e9c8581ffcd4a43c4e812037a076967e0d968261.tar.xz freeipa-e9c8581ffcd4a43c4e812037a076967e0d968261.zip |
Added selectable labels for radio buttons.
The radio buttons in association facet and radio widget are now
linked to their labels so that they can be selected by clicking
the labels.
Ticket #1782
Diffstat (limited to 'install')
-rw-r--r-- | install/ui/association.js | 19 | ||||
-rw-r--r-- | install/ui/widget.js | 18 |
2 files changed, 29 insertions, 8 deletions
diff --git a/install/ui/association.js b/install/ui/association.js index f2ef11dac..ebb6e421f 100644 --- a/install/ui/association.js +++ b/install/ui/association.js @@ -908,7 +908,10 @@ IPA.association_facet = function (spec) { span.append(IPA.messages.association.show_results); span.append(' '); + var direct_id = that.entity.name+'-'+that.attribute_member+'-'+that.other_entity+'-direct-radio'; + that.direct_radio = $('<input/>', { + id: direct_id, type: 'radio', name: 'type', value: 'direct', @@ -919,11 +922,17 @@ IPA.association_facet = function (spec) { } }).appendTo(span); - span.append(' '); - span.append(IPA.messages.association.direct_enrollment); + $('<label/>', { + text: IPA.messages.association.direct_enrollment, + 'for': direct_id + }).appendTo(span); + span.append(' '); + var indirect_id = that.entity.name+'-'+that.attribute_member+'-'+that.other_entity+'-indirect-radio'; + that.indirect_radio = $('<input/>', { + id: indirect_id, type: 'radio', name: 'type', value: 'indirect', @@ -934,8 +943,10 @@ IPA.association_facet = function (spec) { } }).appendTo(span); - span.append(' '); - span.append(IPA.messages.association.indirect_enrollment); + $('<label/>', { + text: IPA.messages.association.indirect_enrollment, + 'for': indirect_id + }).appendTo(span); } }; diff --git a/install/ui/widget.js b/install/ui/widget.js index b25dc8f7f..7acaf9a3e 100644 --- a/install/ui/widget.js +++ b/install/ui/widget.js @@ -936,13 +936,23 @@ IPA.radio_widget = function(spec) { for (var i=0; i<that.options.length; i++) { var option = that.options[i]; + // TODO: Use ID generator or accept ID from spec to avoid conflicts. + // Currently this ID is unique enough, but it will not work if the + // radio button is used multiple times for the same attribute, for + // example both in adder dialog and details facet. + var id = that.entity.name+'-'+that.name+'-'+i+'-radio'; + $('<input/>', { - 'type': 'radio', - 'name': that.name, - 'value': option.value + id: id, + type: 'radio', + name: that.name, + value: option.value }).appendTo(container); - container.append(option.label); + $('<label/>', { + text: option.label, + 'for': id + }).appendTo(container); } if (that.undo) { |