Defines
a region within a cflayout tag body, such as an
individual tab of a tabbed layout.
Display management tags
In a border layout
<cflayoutarea
required
position="bottom|center|left|right|top"
optional
align="left|center|justify|right"
collapsible="false|true"
initcollapsed="false|true"
inithide="false|true"
maxSize="number of pixels"
minSize="number of pixels"
name="string"
onBindError = "JavaScript function name"
overflow = "auto|hidden"
size="number of pixels"
source="URL"
splitter="false|true"
style="CSS style specification"
title="string">
area elements
</cflayoutarea>
In a hbox or vbox layout
<cflayoutarea
optional
name="string"
onBindError = "JavaScript function name"
overflow = "auto|hidden|scroll|visble"
size="number of pixels"
source="URL"
style="CSS style specification">
area elements
</layoutarea>
In a tab layout
<cflayoutarea
optional
bindonload="false|true"
closable="false|true"
disabled="false|true"
inithide="false|true"
name="string"
onBindError = "JavaScript function name"
overflow = "auto|hidden|scroll|visble"
refreshOnActivate = "false|true"
selected="false|true"
source="URL"
style="CSS style specification"
tabTip="text"
title="string">
area elements
</layoutarea>
In an accordion layout
<cflayoutarea
optional
bindonload="false|true"
closable="false|true"
name="string"
onBindError = "JavaScript function name"
overflow = "auto|hidden|scroll|visble"
refreshOnActivate = "false|true"
selected="false|true"
source="URL"
style="CSS style specification"
title="string"
titleicon="icon location">
area elements
If you specify a source attribute,
all child tags are ignored. If you do not have child tags, close
the tag with />.
attributeCollection attribute whose
value is a structure. Specify the structure name in the attributeCollection attribute
and use the tag’s attribute name as structure key.cfdiv, cflayout, cfpod, cfwindow, Ajax JavaScript Functions, Using layouts
in the Developing ColdFusion Applications
ColdFusion 8: Added this tag
Attribute |
Req/Opt |
Default |
Applies to |
Description |
|---|---|---|---|---|
|
Optional |
The |
all |
Specifies how to align child controls within the layout area. The following values are valid:
|
|
Optional |
true |
tab, accordion |
A Boolean value that specifies whether to execute the source attribute expression when the layoutarea is first loaded. |
|
Optional |
false |
tab |
A Boolean value that specifies whether the area can close. Specifying this attribute adds an x icon on the tab or title bar that a user can click to close the area. |
|
Optional |
false |
border, accordion |
A Boolean value that specifies whether the area can collapse. Specifying this attribute adds a >> or << icon on the title bar that a user can click to collapse the area. You cannot use this attribute for border layout
areas with a |
|
Optional |
|
tab |
A Boolean value that specifies whether the tab is disabled, that is, whether a user can select the tab to display its contents. Disabled tabs are greyed out. Ignored if the |
|
Optional |
|
border |
A Boolean value that specifies whether the area is initially collapsed. You cannot use this attribute
for border layout areas with a Ignored if the |
|
Optional |
|
border, tab, accordion |
A Boolean value that specifies whether the
area is initially hidden. To show an initially hidden area, use
the You
cannot use this attribute for border layout areas with a |
|
Optional |
-1 (no maximum size) |
border |
If the If
the You cannot use this attribute
for border layout areas with a |
|
Optional |
-1 (no minimum size) |
border |
If the If
the You cannot use this attribute
for border layout areas with a |
|
Optional |
|
all |
The name of the layout area. |
|
Optional |
See Description |
all |
The name of a JavaScript function to execute if evaluating a bind expression results in an error. The function must take two attributes: an HTTP status code and a message. If
you omit this attribute, and have specified a global error handler
(by using the |
|
Optional |
For accordion, if |
all |
Specifies how to display child content whose size would cause the control to overflow the window boundaries. The following values are valid:
Notes:
|
|
Required if the |
|
border |
The position of the area in the layout. Must be one of the following values:
Border style layouts can have at most one layout area of each type. |
|
Optional |
|
tab, accordion |
To
use this attribute, also specify a |
|
Optional |
first tab is selected |
tab, accordion |
A Boolean value that specifies whether this tab is initially selected so that its contents appears in the layout. |
|
Optional |
-1 calculate initial size dynamically |
border, hbox, vbox |
For hbox layouts and border layouts with For vbox layouts and border layouts with For hbox and vbox layouts, you can use any valid CSS length or percent format (such as 10, 10% 10px, or 10em) for this attribute. For You
cannot use this attribute for border layout areas with a Note: If
a layout area in a border layout contains only AJAX controls such
as HTML format |
|
Optional |
|
all |
A URL that returns the layout area contents. ColdFusion uses standard page path resolution rules. You can use a bind expression with dependencies in this attribute. If
a file specified in this attribute includes tags that use AJAX features, such
as For more
information on the |
|
Optional |
false |
border |
A Boolean value that specifies whether the
layout area has a divider between it and the adjacent If this attribute is set to You
cannot use this attribute for border layout areas with a |
|
Optional |
|
all |
A CSS style specification that controls the appearance of the area. |
|
Optional |
|
tab |
If defined, a tab tip is displayed. |
|
Optional; required for tab layouts |
|
border, tab, accordion |
For tab layouts, the text to display on the tab. For border layouts, if you specify this attribute, ColdFusion creates a title bar for the layout area with the specified text as the title. By default, border layouts that are not closable or collapsible do not have a title bar. You cannot use this
attribute for border layout areas with a |
|
Optional |
|
accordion |
Specifies the location of the icon to display with the title. |
All cflayoutarea tags
must be children of cflayout tags and cannot have cflayoutarea tags
as immediate children, but they can contain cflayout tags.
However, the cflayoutarea tags do not have to be
direct children of the cflayout tag; instead, the cflayout tag
could have a tag such as cfloop or cfquery as
a child, and the cflayoutarea tags could be in
the body of the cfloop or cfquery tag.
These rules let you create arbitrarily complex combinations of different
layouts.
border inside
a layout of type tab. If you do not specify
a size attribute value, ColdFusion attempts to
determine the required size for the layout area contents. However,
in some cases, such as when the layout area contains AJAX controls,
ColdFusion might not be able to determine the required size, and
you must specify the size attribute to make the
AJAX control appear. In these cases, a scroll bar appears for the
layout area.
You can use a source attribute
or a tag body to specify the layout area contents; if you specify
both, ColdFusion uses the contents specified by the source attribute
and ignores the tag body. If you use a source attribute,
an animated icon and the text "Loading..." appears while the contents
is being fetched.
If the source attribute
specifies a page that defines JavaScript functions, the function
definitions on that page must have the following format:
functionName = function(arguments) {function body}
Function definitions that use the following format may not work:
function functionName (arguments) {function body}
However, Adobe recommends that you include all custom JavaScript in external JavaScript files and import them on the application’s main page, and not write them inline in code that you get using the source attribute. Imported pages do not have this function definition format restriction.
If
you use the source attribute, you can use a bind expression to
include form field values or other form control attributes as part
of the source specification. You can bind to HTML format form controls
only. For detailed information on using bind expressions see Using
Ajax Data and Development Features in the Developing ColdFusion Applications.
In border type
layouts, a center layout area always takes up any space that is
not used by the other areas, even if you do not specify a cflayoutarea tag
with a centerposition attribute.
Therefore, if you want only two layout areas in either direction,
one of the two must be the center area, or you must explicitly size
the two areas to take up the full layout area.
When you nest layouts, set the inner layout area initial sizes appropriately to ensure that they appear.
Use the following JavaScript functions to enable, disable, show, hide, expand, collapse, and select layout areas:
Function |
Description |
|---|---|
Creates a tab in an existing tabbed layout. |
|
Disables the specified tab so it cannot be selected. |
|
Enables the specified tab so users can select it and display the area contents. |
|
Hides a tab. |
|
Selects a tab and displays the layout area contents. |
|
Shows a tab that was hidden using the |
|
Collapses an area of a border layout. |
|
Expands a collapsed area of a border layout. |
|
Hides an area of a border layout. |
|
Hides an area of a border layout. |
|
Shows an area of a border layout that was
hidden using the |
|
Hides an accordion. |
|
Shows an accordion that was hidden using
the |
|
Selects an accordion and displays the layout area contents. |
|
Collapses an area of an accordion layout. |
|
Expands a collapsed area of an accordion layout. |
style attribute
to specify the background color of a border layout area, specify
a height style of 100% to make the background color
cover the entire layout area. This is because the style specification
applies to an inner content area of the layout area, not the layout
area itself, and the 100% specification ensures that the content
area takes up all available space in the layout area.The following example creates a three-tabbed layout and lets you use buttons to dynamically control the second tab.
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
</head>
<body>
<h3>Atab</h3>
<cflayout type="tab" name="thelayout" tabheight="175" style="background-color:##CCffFF;
color:red; height:200">
<cflayoutarea title="Tab 1" style="background-color:##FFAAFF;" closable="true">
This is text in layout area 1
</cflayoutarea>
<cflayoutarea name="area2" title="Tab 2" inithide="true"
style="background-color:##FFCCFF" >
This is text in layout area 2
</cflayoutarea>
<cflayoutarea title="Tab 3" style="background-color:##FF99FF;">
This is text in layout area 3
</cflayoutarea>
</cflayout>
<br />
<cfform>
<cfinput name="show" width="40" value="show tab" type="button"
onClick="ColdFusion.Layout.showTab('thelayout', 'area2');">
<cfinput name="hide" width="40" value="hide tab" type="button"
onClick="ColdFusion.Layout.hideTab('thelayout', 'area2');">
<cfinput name="enable" width="40" value="enable tab" type="button"
onClick="ColdFusion.Layout.enableTab('thelayout', 'area2');">
<cfinput name="disable" width="40" value="disable tab" type="button"
onClick="ColdFusion.Layout.disableTab('thelayout', 'area2');">
<cfinput name="select" width="40" value="select tab" type="button"
onClick="ColdFusion.Layout.selectTab('thelayout', 'area2');">
</cfform>
</body>
</html>