summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEndi S. Dewata <edewata@redhat.com>2011-09-30 21:25:47 -0500
committerMartin Kosek <mkosek@redhat.com>2011-10-05 15:08:07 +0200
commite9c8581ffcd4a43c4e812037a076967e0d968261 (patch)
tree5085096b8b73ce3b5f4ffee556266759fa17ee0c
parentc76bbd5129c42b2fbce81e4621f160443b2dcb67 (diff)
downloadfreeipa-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
-rw-r--r--install/ui/association.js19
-rw-r--r--install/ui/widget.js18
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) {