Tabbox"

From Documentation
m (correct highlight (via JWB))
(23 intermediate revisions by 4 users not shown)
Line 47: Line 47:
 
==Toolbar in Tabbox==
 
==Toolbar in Tabbox==
 
The Tabbox supports the inclusion of other controls within its tab bar, thus allowing more freedom and layout options when creating layouts which include a [[ZK Component Reference/Essential Components/Toolbar|toolbar]]. The screenshot below demonstrates an example Tabbox which includes extra controls in the tab bar acting like a menu system.
 
The Tabbox supports the inclusion of other controls within its tab bar, thus allowing more freedom and layout options when creating layouts which include a [[ZK Component Reference/Essential Components/Toolbar|toolbar]]. The screenshot below demonstrates an example Tabbox which includes extra controls in the tab bar acting like a menu system.
 +
 +
Note: Toolbar in Tabbox only works in a horizontal(top/bottom) orient Tabbox.
  
 
[[Image:ZKComRef_Tabbox_Toolbar_Examples.png]]  
 
[[Image:ZKComRef_Tabbox_Toolbar_Examples.png]]  
  
<source lang="xml" high="9,10,11,12,13,14,15">
+
<source lang="xml" highlight="9,10,11,12,13,14,15">
 
<tabbox width="250px">
 
<tabbox width="250px">
 
<tabs>
 
<tabs>
Line 72: Line 74:
 
<tabpanel>This is panel 4</tabpanel>
 
<tabpanel>This is panel 4</tabpanel>
 
<tabpanel>This is panel 5</tabpanel>
 
<tabpanel>This is panel 5</tabpanel>
 +
</tabpanels>
 +
</tabbox>
 +
</source>
 +
 +
==MaximalHeight==
 +
 
 +
    since 7.0.0
 +
In order to solve the problem where each tabpanel have different heights, we offer this feature called '''MaximalHeight'''. With this feature, every Tabpanel will be applied the maximum height among all the tabpanels i.e. if one tabpanel's height is at 300px while the rest is at 240px, all of the tabpanels will be applied with a height of 300px. This feature only works in the initial phase. The screenshot below demonstrates an example Tabbox which includes 3 tabpanels and all of them use the maximum height.
 +
 +
Note: The Client ROD feature will be disabled if it is set to true.
 +
 +
[[Image:tabbox_maximalHeight_0.png]][[Image:tabbox_maximalHeight_1.png]][[Image:tabbox_maximalHeight_2.png]]
 +
 +
<source lang="xml" highlight="1">
 +
<tabbox maximalHeight="true" width="300px">
 +
<tabs id="tabs0">
 +
<tab label="Tab1" />
 +
<tab label="Tab2" />
 +
<tab label="Tab3" />
 +
</tabs>
 +
<tabpanels id="pnls0">
 +
<tabpanel>
 +
<div>Tabpanel Content 1</div>
 +
<div>Tabpanel Content 1</div>
 +
<div>Tabpanel Content 1</div>
 +
</tabpanel>
 +
<tabpanel>
 +
<div>Tabpanel Content 2</div>
 +
<div>Tabpanel Content 2</div>
 +
</tabpanel>
 +
<tabpanel>
 +
<div>Tabpanel Content 3</div>
 +
<div>Tabpanel Content 3</div>
 +
<div>Tabpanel Content 3</div>
 +
<div>Tabpanel Content 3</div>
 +
</tabpanel>
 
</tabpanels>
 
</tabpanels>
 
</tabbox>
 
</tabbox>
Line 78: Line 116:
 
=Supported Events=
 
=Supported Events=
  
{| border="1" | width="100%"
+
{| class='wikitable' | width="100%"
 
! <center>Name</center>
 
! <center>Name</center>
 
! <center>Event Type</center>
 
! <center>Event Type</center>
Line 93: Line 131:
 
=Supported Molds=
 
=Supported Molds=
 
Available molds of a component are defined in lang.xml embedded in zul.jar.
 
Available molds of a component are defined in lang.xml embedded in zul.jar.
{| border="1" | width="100%"
+
{| class='wikitable' | width="100%"
 
! <center>Name</center>
 
! <center>Name</center>
 
! <center>Snapshot</center>
 
! <center>Snapshot</center>
Line 106: Line 144:
 
|[[Image:tabbox_mold_accordion-lite.png ]]  
 
|[[Image:tabbox_mold_accordion-lite.png ]]  
 
|}
 
|}
 +
 +
 +
* accordion-lite mold is deprecated since 7.0.0
 +
 +
=Supported Orients=
 +
{| class='wikitable' | width="100%"
 +
! <center>Name</center>
 +
! <center>Snapshot</center>
 +
|-
 +
| <center>top</center>
 +
|
 +
[[Image:tabbox_orient_top.png ]]
 +
 +
|-
 +
| <center>left</center>
 +
|
 +
[[Image:tabbox_orient_vertical.png ]]
 +
 +
|-
 +
| <center>right</center>
 +
|
 +
[[Image:tabbox_orient_vertical-right.png ]]
 +
 +
|-
 +
| <center>bottom</center>
 +
|
 +
[[Image:tabbox_orient_bottom.png‎ ]]
 +
 +
|}
 +
 
 +
 +
*  Rename orient "horizontal" to "top", "vertical" to "left" and add extra two orients named "bottom" and "right" since 7.0.0
  
 
=Supported Children=
 
=Supported Children=
Line 113: Line 183:
 
=Use Cases=
 
=Use Cases=
  
{| border='1px' | width="100%"
+
{| class='wikitable' | width="100%"
 
! Version !! Description !! Example Location
 
! Version !! Description !! Example Location
 
|-
 
|-
Line 123: Line 193:
 
=Version History=
 
=Version History=
 
{{LastUpdated}}
 
{{LastUpdated}}
{| border='1px' | width="100%"
+
{| class='wikitable' | width="100%"
 
! Version !! Date !! Content
 
! Version !! Date !! Content
 
|-
 
|-

Revision as of 07:52, 18 January 2022

Tabbox

Employment/Purpose

A tabbox is a container used to display a set of tabbed groups of components. A row of tabs is displayed at the top (or left or other location) of tabbox which may be used to switch between each group. It allows developers to separate a large number of components into several groups (each group is contained in a tabpanel). Only one group is visible at the time, such that the user interface won't be too complicate to read. Once the tab of an invisible group is clicked, it becomes visible and the previous visible group becomes invisible.

The visible group is called selected, which can be retrieved by use of Tabbox.getSelectedPanel() or Tabbox.getSelectedIndex().

Example

ZKComRef Tabbox Examples.PNG

<zk>
	<tabbox width="400px">
		<tabs>
			<tab label="Tab 1" />
			<tab label="Tab 2" />
		</tabs>
		<tabpanels>
			<tabpanel>This is panel 1</tabpanel>
			<tabpanel>This is panel 2</tabpanel>
		</tabpanels>
	</tabbox>
	<space />
	<tabbox width="400px" mold="accordion">
		<tabs>
			<tab label="Tab 3" />
			<tab label="Tab 4" />
		</tabs>
		<tabpanels>
			<tabpanel>This is panel 3</tabpanel>
			<tabpanel>This is panel 4</tabpanel>
		</tabpanels>
	</tabbox>
</zk>

Properties and Features

Toolbar in Tabbox

The Tabbox supports the inclusion of other controls within its tab bar, thus allowing more freedom and layout options when creating layouts which include a toolbar. The screenshot below demonstrates an example Tabbox which includes extra controls in the tab bar acting like a menu system.

Note: Toolbar in Tabbox only works in a horizontal(top/bottom) orient Tabbox.

ZKComRef Tabbox Toolbar Examples.png

<tabbox width="250px">
	<tabs>
		<tab label="Tab 1" closable="true" />
		<tab label="Tab 2" closable="true" />
		<tab label="Tab 3" closable="true" />
		<tab label="Tab 4" closable="true" />
		<tab label="Tab 5" closable="true" />
	</tabs>
	<toolbar>
		<toolbarbutton image="/img/live.gif" onClick='alert("Live")' />
		<toolbarbutton image="/img/defender.gif"
			onClick='alert("Defender")' />
		<toolbarbutton image="/img/battery.gif"
			onClick='alert("Battery")' />
	</toolbar>
	<tabpanels>
		<tabpanel>This is panel 1</tabpanel>
		<tabpanel>This is panel 2 The second panel</tabpanel>
		<tabpanel>This is panel 3</tabpanel>
		<tabpanel>This is panel 4</tabpanel>
		<tabpanel>This is panel 5</tabpanel>
	</tabpanels>
</tabbox>

MaximalHeight

   since 7.0.0

In order to solve the problem where each tabpanel have different heights, we offer this feature called MaximalHeight. With this feature, every Tabpanel will be applied the maximum height among all the tabpanels i.e. if one tabpanel's height is at 300px while the rest is at 240px, all of the tabpanels will be applied with a height of 300px. This feature only works in the initial phase. The screenshot below demonstrates an example Tabbox which includes 3 tabpanels and all of them use the maximum height.

Note: The Client ROD feature will be disabled if it is set to true.

Tabbox maximalHeight 0.pngTabbox maximalHeight 1.pngTabbox maximalHeight 2.png

<tabbox maximalHeight="true" width="300px">
	<tabs id="tabs0">
		<tab label="Tab1" />
		<tab label="Tab2" />
		<tab label="Tab3" />
	</tabs>
	<tabpanels id="pnls0">
		<tabpanel>
			<div>Tabpanel Content 1</div>
			<div>Tabpanel Content 1</div>
			<div>Tabpanel Content 1</div>
		</tabpanel>
		<tabpanel>
			<div>Tabpanel Content 2</div>
			<div>Tabpanel Content 2</div>
		</tabpanel>
		<tabpanel>
			<div>Tabpanel Content 3</div>
			<div>Tabpanel Content 3</div>
			<div>Tabpanel Content 3</div>
			<div>Tabpanel Content 3</div>
		</tabpanel>
	</tabpanels>
</tabbox>

Supported Events

Name
Event Type
onSelect
Event: SelectEvent


Denotes user has selected a tab. onSelect is sent to both tab and tabbox.

Supported Molds

Available molds of a component are defined in lang.xml embedded in zul.jar.

Name
Snapshot
default
Tabbox mold default.png
accordion
Tabbox mold accordion.png
accordion-lite
Tabbox mold accordion-lite.png


  • accordion-lite mold is deprecated since 7.0.0

Supported Orients

Name
Snapshot
top

Tabbox orient top.png

left

Tabbox orient vertical.png

right

Tabbox orient vertical-right.png

bottom

Tabbox orient bottom.png


  • Rename orient "horizontal" to "top", "vertical" to "left" and add extra two orients named "bottom" and "right" since 7.0.0

Supported Children

* Tabs,  Tabpanels, Toolbar

Use Cases

Version Description Example Location
5.0 Tabbox can be used to display information on seperate panels and show only one panel a time. http://www.zkoss.org/zkdemo/userguide/#l10

Version History

Last Update : 2022/01/18


Version Date Content
     



Last Update : 2022/01/18

Copyright © Potix Corporation. This article is licensed under GNU Free Documentation License.