NAME¶
Jifty::Web::PageRegion - Defines a page region
DESCRIPTION¶
Describes a region of the page which contains a Mason fragment which can be
updated via AJAX or via query parameters.
new PARAMHASH¶
Creates a new page region. The possible arguments in the "PARAMHASH"
are:
- name
- The (unqualified) name of the region. This is used to
generate a unique id -- it should consist of only letters and
numbers.
- path
- The path to the fragment that this page region contains.
Defaults to "/__jifty/empty", which, as its name implies, is
empty.
- arguments (optional) (formerly 'defaults')
- Specifies an optional set of parameter defaults. These
should all be simple scalars, as they might be passed across HTTP if AJAX
is used.
See Jifty::Web::Form::Element for a list of the supported parameters.
- force_arguments (optional)
- Specifies an optional set of parameter values. They will
override anything sent by the user or set via AJAX.
- force_path (optional)
- A fixed path to the fragment that this page region
contains. Overrides anything set by the user.
- parent (optional)
- The parent Jifty::Web::PageRegion that this region is
enclosed in.
- region_wrapper (optional)
- A boolean; whether or not the region, when rendered, will
include the HTML region preamble that makes Javascript aware of its
presence. Defaults to true.
- lazy (optional)
- Delays the loading of the fragment until client
render-time. Obviously, does not work with downlevel browsers which don't
support javascript.
- loading_path (optional)
- The fragment to display while the client fetches the actual
region. Make this lightweight, or you'll be losing most of the benefits of
lazy loading!
name [NAME]¶
Gets or sets the name of the page region.
qualified_name [NAME]¶
Gets or sets the fully qualified name of the page region. This should be unique
on a page. This is usually set by "enter", based on the page regions
that this region is inside. See "qualified_region" in Jifty::Web.
default_path [PATH]¶
Gets or sets the default path of the fragment. This is overridden by
"path".
path [PATH]¶
Gets or sets the path that the fragment actually contains. This overrides
"default_path".
default_argument NAME [VALUE]¶
Gets or sets the default value of the "NAME" argument. This is used as
a fallback, and also to allow generated links to minimize the amount of state
they must transmit.
argument NAME [VALUE]¶
Gets or sets the actual run-time value of the page region. This usually comes
from HTTP parameters. It overrides the "default_argument" of the
same "NAME".
arguments [HASHREF]¶
Sets all arguments at once, or returns all arguments. The latter will also
include all default arguments.
enter¶
Enters the region; this sets the qualified name based on
"qualified_region" in Jifty::Web, and uses that to pull runtime
values for the "path" and "argument"s from the
"state_variables" in Jifty::Request before overriding them with the
"force" versions.
exit¶
Exits the page region, if it is the most recent one. Normally, you won't need to
call this by hand; however, if you are calling "enter" by hand, you
will need to call the corresponding "exit".
as_string¶
Deals with the bulk of the effort to show a page region. Returns a string of the
fragment and associated javascript (if any).
render¶
Calls "enter", outputs the results of "as_string", and then
calls "exit". Returns an empty string.
make_body¶
Outputs the results of the region to the current buffer.
render_as_subrequest¶
get_element [RULES]¶
Returns a CSS2 selector which selects only elements under this region which fit
the "RULES". This method is used by AJAX code to specify where to
add new regions.
client_cacheable¶
Returns the client cacheable state of the regions path. Returns false if the
template has not been marked as client cacheable. Otherwise it returns the
string "static" or "action" based on the cacheable
attribute set on the template.
client_cache_content¶
Returns the template as JavaScript code.