DropDownBrick Class
The DropDownBrick prototype. Provides a dropdown control to choose an item from. To instantiate, call new on the DropDownBrick prototype.
Imports RAMP Modules:
Uses RAMP Templates:
templates/bricks_template.json
Item Index
Methods
Properties
Events
Methods
clear
()
DropDownBrick
chainable
Clears the DropDownBrick by setting the selected option to "" 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 DropDownBrick'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: inputValue and userEntered
isUserSelected
()
DropDownBrick
chainable
Checks if the option was selected by the user or not.
Returns:
itself
isValid
()
Boolean
Checks if the DropDownBrick is valid. It's considered valid if the selected option's value is not "".
Returns:
true if valid; false if not
new
-
id
-
config
Initializes the DropDownBrick by generating a specified template and setting defaults. This Brick fires a CHANGE event on every change inside the dropdown.
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
-
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
selectOption
-
selectedOption
-
userSelected
Selects the option whose value is provided in selectedOption param;
Parameters:
Returns:
itself
setData
-
data
Sets DropDownBrick's data. data object may contain:
- {Object} options an array of options to be added to the dropdown
- {Boolean} append indicates whether to append or replace the exiting options
- {String} selectedOption string value of the option that should be preselected (either old or newly added option)
- {Boolean} userSelected boolean value indicating if the user is the source of the string value
By default, after appending/replacing options, the first option will be selected unless specified otherwise.
Parameters:
-
data
Objecta wrapper object for the data to be set.
Returns:
itself
setDropDownOptions
-
options
-
[append]
Populates the drop down with provided set of options optionally replacing or appending them to the existing options.
Parameters:
Returns:
itself
setDropDownValue
-
option
-
userSelected
Stores selected option's text and value and notifies any listeners of the change. Internal should not be called from outside.
Parameters:
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: {}
containerClass
String
private
A CSS class of the DropDownBrick container node.
Default: "dropdown-brick-container"
customContainerClass
String
private
Any other custom CSS class to be added to the Brick container node.
Default: ""
dropDownText
String
private
A text string of the currently selected item in the dropdown.
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 DropDownBrick template.
Default: "default_dropdown_brick_template"
userSelected
Boolean
private
Indicates if the user selected the option in the dropdown or it was selected 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