ChoiceBrick Class
The ChoiceBrick prototype. Provides a user the ability to choose a single item among several. To instantiate, call new on the ChoiceBrick prototype.
Imports RAMP Modules:
Uses RAMP Templates:
templates/bricks_template.json
Item Index
Methods
Properties
Events
Methods
clear
()
ChoiceBrick
chainable
Clears the ChoiceBrick by reseting selectedChoice to an empty string and userSelected to false.
Returns:
itself
disable
-
disable
-
force
Disables or re-enables the Brick.
Parameters:
Returns:
itself
displayNotice
-
notice
-
[noticeTemplate]
Display a (error) notice on the brick.
Parameters:
Returns:
itself
getData
-
[wrap]
Returns ChoiceBrick's data.
Parameters:
-
[wrap]
Boolean optionalindicates of the payload should be wrapped with a Brick's id; useful when collection information from several Bricks at once.
Returns:
A wrapper object around two properties: selectedChoice and userSelected
isUserSelected
()
ChoiceBrick
chainable
Checks if the option was selected by the user or not.
Returns:
itself
isValid
()
Boolean
Checks if the brick is valid. The ChoiceBrick is considered valid if selectedChoice is not an empty String.
Returns:
true if valid; false if not
new
-
id
-
config
Initializes the ChoiceBrick by generating a specified template and setting defaults. Also sets a click listener on the template button. The ChoiceBrick prototype. Provides a user the ability to choose a single item among several.
Parameters:
-
id
Stringspecified id of the Brick
-
config
Objecta configuration object for the Brick
-
[header]
String optionala Brick header
-
[instructions]
String optionala configuration object for the Brick
-
[required]
Array | Object optionalcollection of rules specifying what external conditions must be valid for the Brick to be enabled
-
[isEnabled]
Boolean optionalspecifies if the brick is disabled from the start
-
[freezeStates]
Array optionala set of rules specifying states Brick should be frozen
-
[baseTemplate]
String optionala base template name to be used
-
[noticeTemplate]
String optionala notice template name to be used
-
[containerClass]
String optionala CSS class of the specific brick container
-
[customContainerClass]
String optionalany other optional CSS class to be added to the brick container
-
[template]
String optionala name of the specific Brick template
-
[choices]
Array optionala set of choices that will be presented to the user
-
[preselect]
String optionala name of an option to preselect
-
Returns:
notify
-
eventName
-
data
Notifies a listener of a Brick event.
Parameters:
Returns:
itself
on
-
eventName
-
listener
Sets a listener on the Brick for a specified eventName.
Parameters:
Returns:
itself
setChoice
-
choiceKey
-
userSelected
Sets the choice of the ChoiceBrick.
Parameters:
Returns:
itself
setData
-
data
Sets ChoiceBrick's data. First calls setChoice and calls set data on the Brick prototype.
Parameters:
-
data
Objecta wrapper object for the data to be set.
Returns:
itself
Properties
_isFrozen
Boolean
private
Indicates if the Brick is frozen and cannot be interacted with.
Default: false
_listeners
Object
private
A collection of listeners to be notified of specified Brick events.
Default: {}
choices
Array
private
A collection of choices that will be offered to the user. At least two choices are required for this Brick to have any use at all.
Example:
[
{
key: "ie9",
value: "IE9"
},
{
key: "chrome",
value: "Chrome"
}
]
containerClass
String
private
A CSS class of the MultiBrick container node.
Default: "choice-brick-container"
customContainerClass
String
private
Any other custom CSS class to be added to the Brick container node.
Default: ""
freezeStates
Array
private
A set of rules specifying states Brick should be frozen.
Default: []
Example:
[
Bricks.Brick.state.SUCCESS,
Bricks.Brick.state.ERROR
],
isEnabled
Boolean
Specifies if the brick is enabled from creation. If false, the Brick is disabled after initialization.
Default: true
required
Array
A collection of rules specifying what external conditions must be valid for the Brick to be enabled. This is not used directly by the Brick itself, but instead by the external object manipulating a collection of Bricks. Two types of rules possible: "all" and "any". Any additional properties needed can be specified.
Default: null
Example:
[
{
type: "all",
check: ["serviceType", "serviceURL"]
}
]
state
Object
A dictionary of Brick events.
Example:
state: {
SUCCESS: "brick/success",
ERROR: "brick/error",
DEFAULT: "brick/default"
}
template
String
private
A name of the default ButtonBrick template.
Default: "default_choice_brick_template"
userSelected
Boolean
private
Indicates if the user made the selection or it was made programmatically
Default: false
Events
Bricks.Brick.event.CHANGE
Published whenever a Brick undergoes some change.
Event Payload:
-
data
Objectanything, usually result of calling getData() on the Brick