The ROWTABSUBPAGES control allows you to switch between several Application Designer pages such as NATPAGE using tabs. The displayed number of tabs and names are dynamically set by the Natural application at runtime. A page layout may only contain a single ROWTABSUBPAGES control. If you want to render more than one ROWTABSUBPAGES control in a page layout, you have to create a modular structure using SUBCISPAGE2 controls.
Optionally, the ROWTABSUBPAGES control may contain exactly one STRAIGHTTABPAGE control as a subnode. STRAIGHTTABPAGE must be the first tab. This allows for combining ROWTABAREA behavior with ROWTABSUBPAGES behavior. Having a STRAIGHTTABPAGE as the first tab improves the loading behavior of ROWTABSUBPAGES. For an example, see the Natural for Ajax demos.
This document covers the following topics:
1 MYTABPAGES 2 SELECTEDINDEX (A) DYNAMIC 2 TABITEMS (1:*) 3 NAME (A) DYNAMIC 3 PAGEID (A) DYNAMIC 3 PAGENAME (A) DYNAMIC 3 PAGEURL (A) DYNAMIC
Element | Description |
---|---|
SELECTEDINDEX |
Set the active page. The default is "0". |
TABITEMS |
Array with a corresponding data object for each
tab:
|
NAME |
The visible text that is to be shown on the tab. |
PAGEID |
For each PAGEID in the same Application Designer
subsession, a new Natural session is created. Identical PAGEID
elements within a subsession will refer to the same Natural session.
If you do not want to create a new Natural session for this tab,
leave |
PAGENAME |
PAGENAME is only required if you do
not want to create a new Natural session for this tab. In this case, you must
leave PAGEID empty. Instead, you specify the name of the page
layout in PAGENAME . This can either be the name of the layout
without the extension (such as "mylayout") or a
relative path (such as
"/myuicomponent/mylayout.html"). See also
Session
Management below.
|
PAGEURL |
The URL for loading the page. Example:
|
In case the tabs share the same Natural session (see Session Management below), an event is triggered in the Natural application as soon as a different tab is selected. With this event, the Natural application can apply the data that is required to display the page on the tab. For details, see the corresponding sample in the Natural for Ajax demos.
The name of the triggered event is
reactOnSwitchTopagename
,
where pagename is the name of the layout (without
the extension) which will be activated with the next event. For example, the
event reactOnSwitchToMylayout
will activate the layout
named "mylayout.xml". Note the CamelCase notation
for the event name. Even though the first character of the layout name is a
lower-case "m", this is always an upper-case
"M" within the event name.
With the ROWTABSUBPAGES control, you can either use the same Natural session for multiple tabs or you can use a different Natural session for each tab.
If a new Natural session is to be created for a tab, you have to specify
a PAGEID
value for this tab. In this case, the session management
for the ROWTABSUBPAGES control is the same as described for the
SUBCISPAGE2 control. See
Session
Management.
Alternatively, multiple tabs of the ROWTABSUBPAGES control can use the
same Natural session. If you do not specify a PAGEID
value, but
specify a PAGENAME
value for multiple tabs, all NATPAGE pages in
these tabs will run in the same Natural session. Note that the Natural session
used for the tabs is not the same Natural session as the Natural session used
for the NATPAGE which contains the ROWTABSUBPAGES control. In this case, you
have two different Natural sessions: one for the NATPAGE containing the
ROWTABSUBPAGES control, and another for the tabs in the ROWTABSUBPAGES
control.
The performance considerations regarding when to use ROWTABAREA and when to use ROWTABSUBPAGES as described in the Application Designer documentation also apply to NATPAGE controls. See the description of the ROWTABSUBPAGES control in the Application Designer documentation. This can be found in Working with Pages, in the part Embedding Pages into Pages. The latest version of the Application Designer documentation is available at http://documentation.softwareag.com/webmethods/application_designer.htm (Empower login required).
With Natural applications, an additional aspect has to be considered. The ROWTABSUBPAGES control allows you to embed Natural applications which run on different servers. Regarding resources, the Natural application needs to decide which NATPAGE in a "tab" is to use its own Natural session (see also Session Management above).
Basic | |||
pagesprop |
Name of the adapter parameter that provides the content of the control |
Obligatory | |
triggerserver |
Flag indicating whether the adapter should be triggered if the user switches between pages. If set to true, method trigger() inside the TABSUBPAGESInfo object is called - before switching the page. Therefore the adapter can abort a page switch - maybe a user has to enter some data first on the current page before switching to another one. |
Optional |
true false |
height |
Height of the control. There are three possibilities to define the height: (A) You do not define a height at all. As consequence the control will be rendered with its default height. If the control is a container control (containing) other controls then the height of the control will follow the height of its content. (B) Pixel sizing: just input a number value (e.g. "20"). (C) Percentage sizing: input a percantage value (e.g. "50%"). Pay attention: percentage sizing will only bring up correct results if the parent element of the control properly defines a height this control can reference. If you specify this control to have a height of 50% then the parent element (e.g. an ITR-row) may itself define a height of "100%". If the parent element does not specify a width then the rendering result may not represent what you expect. |
Optional |
100 150 200 250 300 250 400 50% 100% |
scrollable |
If set to "true" then small icons will appear on the right border of the control. If the size of the "tabs" is too big and some tabs are cut as consequence then you can use these icons for scrolling left and right. |
Optional |
true false |
textid |
Multi language dependent text that is displayed inside the control. The "textid" is translated into a corresponding string at runtime. Do not specify a "name" inside the control if specifying a "textid". |
Optional | |
fastbufferswitch |
If this property is switched to "true" (default is "false") then the contained subpages are buffered in a way that switching between tabs is not done by loading a new page but by just switching the visibility of pages. Please pay attention to that switching between pages in this case does not reload the page content from the server when switching! In order to enable fast switching you have to set the framebuffersize in cisconfig (n +1), n being the number of tabs to switch. |
Optional |
true false |
comment |
Comment without any effect on rendering and behaviour. The comment is shown in the layout editor's tree view. |
Optional | |
Appearance | |||
borderwidth |
Border width (in pixels) of the sub-page that is contained inside this control. Define "0" to avoid rendering any border. |
Optional |
1 2 3 int-value |
leftindent |
Inserts a horizontal distance left of the first "tab" and shifts the "tabs" to the right as consequence. The value you may define represents the number of pixels that are inserted. |
Optional |
1 2 3 int-value |
paddingleft |
Number of pixels which you want to keep as margin between the tab control's left border and the inner sub page. Default is 5 pixel. |
Optional |
1 2 3 int-value |
paddingtop |
Number of pixels which you want to keep as margin between the upper tab row and the inner sub page. Default is 5 pixel. |
Optional |
1 2 3 int-value |
paddingright |
Number of pixels which you want to keep as margin between the tab control's right border and the inner sub page. Default is 5 pixel. |
Optional |
1 2 3 int-value |
paddingbottom |
Number of pixels which you want to keep as margin between the bottom of the tab control and the inner sub page. Default is 5 pixel. |
Optional |
1 2 3 int-value |
pagestyle |
CSS style definition that is directly passed into this control. With the style you can individually influence the rendering of the control. You can specify any style sheet expressions. Examples are: border: 1px solid #FF0000 background-color: #808080 You can combine expressions by appending and separating them with a semicolon. Sometimes it is useful to have a look into the generated HTML code in order to know where direct style definitions are applied. Press right mouse-button in your browser and select the "View source" or "View frame's source" function. |
Optional | |
Miscellaneous | |||
testtoolid |
Use this attribute to assign a fixed control identifier that can be later on used within your test tool in order to do the object identification |
Optional |
Basic | |||
id |
Id of the TABPAGE. Each page has an id that refers to the PAGE1 .. PAGE9 definition inside the ROW/COLTABAREA control that contains the TABPAGE. Clicking a "tab" will display the TABPAGE with the associated id. |
Obligatory | |
comment |
Comment without any effect on rendering and behaviour. The comment is shown in the layout editor's tree view. |
Optional |