FileInputBrick Class
The FileInputBrick prototype extends SimpleInputBrick. Provides a control to either select a local file or enter its URL. To instantiate, call new on the FileInputBrick prototype.
Imports RAMP Modules:
Uses RAMP Templates:
templates/bricks_template.json
Item Index
Methods
Properties
Events
Methods
clear
()
FileInputBrick
chainable
Clears the Brick by setting inputValue to "" which sets fileValue to null and userEntered 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 FileInputBrick's data. Either a file object or a file URL will be returned along with the file name, not both.
Returns an object:
- {Object} fileValue file object if any was selected
- {String} fileName derived file name
- {Boolean} userSelected a flag indicating if the user has selected the file or typed the URL
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
isUserEntered
()
Boolean
Checks if the input value was entered by the user or not.
Returns:
true if the input value was entered by the user; false, otherwise
isUserSelected
()
Boolean
Checks if the file was selected by the user or not.
Returns:
true if the file was selected by the user; false, otherwise
isValid
()
Boolean
Checks if the FileInputBrick is valid. It's considered valid if the input value is not "" or a file value is not null.
Returns:
true if valid; false if not
new
-
id
-
config
Initializes the FileInputBrick by generating a specified template and setting defaults. This Brick fires a CHANGE event on every change inside the input field and on every file selected.
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
-
[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
-
[template]
String optionala name of the specific Brick template
-
[label]
String optionalan input field label. Invisible. Defaults to the Brick's header
-
[placeholder]
String optionala placeholder to be displayed inside the input field
-
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
setData
-
data
Sets SimpleInputBrick's data. First calls setInputValue and calls set data on the Brick prototype. data object may contain:
- {Object} fileValue a file object
- {String} inputValue a input value (file URL)
- {Boolean} userSelected boolean value indicating if the user is the source of the file value
- {Boolean} userEntered boolean value indicating if the user is the source of the string value
if both fileValue and inputValue are specified, only fileValue is used.
Parameters:
-
data
Objecta wrapper object for the data to be set.
Returns:
itself
setFileValue
-
value
-
userSelected
Sets file value of the Brick. When setting file object, input value is set to "". If value is null, the form is reset.
Parameters:
Returns:
itself
setInputValue
-
value
-
userEntered
Sets the current value of the input field. In this case it's a file URL. If the URL is set, the returned file object is null.
First calls setFileValue(null, false) to null the file object, then calls the prototype's setInputValue with the same parameters.
Parameters:
Returns:
itself
setState
-
state
Sets the state of the Brick. Depending on the state, update the visual styles of the input field. Then call the Brick prototype setState function.
Parameters:
-
state
Stringa name of the state to 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: {}
containerClass
String
private
A CSS class of the FileInputBrick container node.
Default: "fileinput-brick-container"
filePseudoNode
Object
private
A node of the styled pseudo file input control that just looks nice and doesn't do anything.
freezeStates
Array
private
A set of rules specifying states Brick should be frozen.
Default: []
Example:
[
Bricks.Brick.state.SUCCESS,
Bricks.Brick.state.ERROR
],
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 FileInputBrick template.
Default: "default_fileinput_brick_template"
userEntered
Boolean
private
Indicates if the user entered text into the input field or it was entered programmatically
Default: false
userSelected
Boolean
private
A flag indicating if the user has selected the file or the file has been selected using some magical means.
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