NAME
Jifty::Web::Form::Element - Some item that can be rendered in a form
DESCRIPTION
Describes any HTML element that might live in a form, and thus might have javascript on it.
Handlers are placed on Jifty::Web::Form::Element objects by calling the name of the javascript event handler, such as onclick
, with a set of arguments.
The format of the arguments passed to onclick
(or any similar method) is a hash reference. It takes a number of possible keys. The most important is the mode of the fragment replacement, if any; it is specified by providing at most one of the following keys:
- append => PATH
-
Add the given
PATH
as a new fragment, just before the close of the CSS selector given byelement
, which defaults to the end of the current region. - prepend => PATH
-
Add the given
PATH
as a new fragment, just aftger the start of the CSS selector given byelement
, which defaults to the start of the current region. - replace_with => PATH
-
Replaces the region specified by the
region
parameter (which defaults to the current region) with the fragment located at the givenPATH
. - refresh => REGION
-
Refreshes the given
REGION
, which should be a Jifty::Web::PageRegion object, or the fully qualified name of such. - refresh_self => 1
-
Refreshes the current region; this is the default action, if
args
are supplied, but no other mode is given.
The following options are also supported:
- region => REGION
-
The region that should be updated. This defaults to the current region.
- element => CSS SELECTOR
-
A css selector specifying where the new region should be placed; used with
append
andprepend
, above. The "get_element" in Jifty::Web::PageRegion method may be useful in specifying elements of parent page regions. - submit => MONIKER
-
An action, moniker of an action, or array reference to such; these actions are submitted when the event is fired.
- args => HASHREF
-
Arguments to the region. These will override the arguments to the region that the region was given when it was last rendered.
- effect => STRING
-
The Prototype visual effect to use when updating or creating the fragment.
- effect_args => HASHREF
-
A hashref of arguments to pass to the effect when it is creted. These can be used to change the duration of the effect, for instance.
handlers
Currently, the only supported event handlers are onclick
.
accessors
Any descendant of Jifty::Web::Form::Element should be able to accept any of the event handlers (above) as one of the keys to its new
parameter hash.
javascript
Returns the javsscript necessary to make the events happen.
class
Sets the CSS class that the element will display as
key_binding
Sets the key binding associated with this elements
id
Subclasses must override this to provide each element with a unique id.
label
Sets the label of the element. This will be used for the key binding legend, at very least.
render_key_binding
Adds the key binding for this input, if one exists.