Section author: Jonathon Love
RadioButton
Inherits from ParentControl
, OptionControl
Properties
There are no RadioButton
specific properties. All behavior can be achieved using the inherited properties of OptionControl
and ParentControl
.
Supported Option Types
List
When the option binding is to a List
a few properties are needed for it to work.
The below example shows an option with the name plotError
. This option has a property called options
which describes three mutually exclusive
sub-options that are possible values for the options output. A List
returns the name of one of these sub-options as a string.
Now a RadioButton
can be used to manipulate a List
option by changing its value to a specified sub-option name.
Option Definition
- name: plotError
title: Error Bar Definition
type: List
options:
- name: none
title: None
- name: ci
title: Confidence interval
- name: se
title: Standard Error
default: ci
description:
R: >
'none', 'ci' (default), or 'se'. Use no error bars, use confidence
intervals, or use standard errors on the plots, respectively.
To achieve this two properties will need to be added to the RadioButton
definition optionName
and optionPart
. Both these properties are inherited
from OptionControl
. As has been described in OptionControl
documentation, optionName
is used to determine what option the RadioButton
should bind
to. Under normal circumstances, it is not necessary to use optionName
as the property name
can be used for the same effect. This however, becomes a
problem for defining a RadioButton
that is linked to an List
as the name
property also has the requirement to be unique to that UI control. It is
not allowed to have two radio buttons (or any other control for that matter) with the same name. Because of this, when binding to an List
with a
RadioButton
we are required to give that RadioButton
a unique name and use the optionName
to bind to the desired List
.
Now binding solely to a List
is not a valid configuration for a RadioButton
as it requires a boolean data type to operate correctly. To overcome this,
the RadioButton
definition will need to not just bind to the List
but also to one of the sub-options. This is achieved using the optionPart
property. By assigning the name of the desired sub-option to this property, the RadioButton
will operate base on that sub-options name.
UI Control Definition
- type: RadioButton
name: plotError_none
optionName: plotError
optionPart: none
- type: RadioButton
name: plotError_ci
optionName: plotError
optionPart: ci
children:
- type: TextBox
name: ciWidth
label: Interval
suffix: '%'
format: number
inputPattern: '[0-9]+'
enable: (plotError_ci)
- type: RadioButton
name: plotError_se
optionName: plotError
optionPart: se
Three RadioButton
’s for the three sub-options of the option bound List
.