Main TabBar
Second level navigation is in danger of becoming deprecated, so please be cautious with this design pattern.
We can initialize the TabBar tabs with the the
tabs
method.
— but since the page already has tabs, we will instead append a new tab to the existing collection. If you omit the argument, you"ll get the current tabs (jQuery style).
You can use array methods like push
, pop
, shift
,
unshift
, splice
and so on to manage tabs, just note that the
tabs length
is a readonly property. Also note that tabs don"t do anything by
default, so what happens at onselect
is completely up to you.
Updating tabs
We can at any time change what happens when a tab gets selected. We can also change the tab label if we like, although maybe this would be confusing for the user.
Selecting tabs
We can programatically select a tab using one of these approaches.
Querying tabs
This will all become a lot easier if we give all the tabs an
id
and use
tabs.get()
Tabs icons
You can add a tab with an icon if somehow that tab is special.
Tab counters
You can add a counter to the tabs for whatever reason you like.
When the counter reaches zero, it disappears.
Closeable tabs
You can create closeable tabs, but note that the tab must be selected before it can be
closed. You can return false
in the onclose
method to prevent
the tab from closing (if this would otherwise cause data loss).
New-Tab button
You can allow the user to create new tabs via a special button as seen in popular
browsers. Note that the button just triggers a callback and that the new tab must be
created manually. In the example below, the
selected
property also selects the tab.
If you regret this later on, you can also hide the button.
Here"s a summary of the tabs
collection and tab
model.
TabBar.buttons
It's perfectly alright to add buttons to the TabBar, either to avoid wasting space on a separate ToolBar or because the buttons will affect content in all the tabs.
If the buttons affect the selected tab only, remember to
clear
the buttons when a new tab is selected.
Here"s a summary of the buttons
collection and button
model.