Package reahl.web.bootstrap.tabbedpanel

New in version 3.2.

TabbedPanels are used to save space by stacking different panels on top of one another. While each panel has its own contents only the top panel is visible, thus taking up visual space of only one such panel.

TabbedPanel

class reahl.web.bootstrap.tabbedpanel.TabbedPanel(view, nav_layout=None)

A Widget that appears as having multiple panels of content stacked on top of one another – with only one panel visible at a time.

Each content panel appears to have a label sticking out (its “tab”). When the user clicks on a different Tab, its panel is raised to the top and thus made visible. This is done without refreshing the entire page, provided that JavaScript is available on the user agent.

Parameters
query_fields(fields)

Accessed as a property, but is a method:

@exposed
query_fields(self, fields)

Override this method to parameterise this Widget.

When accessed as a property for the first time, this method is called, and passed an empty FieldIndex as fields.

Inside the method you can declare each argument of the Widget by assigning a Field to an attribute of fields.

When constructed, the Widget uses the names and validation details of each Field to parse values for its arguments from the current query string. The resultant argument values set as attributes on this Widget (with names matching the argument names).

add_tab(tab)

Add a panel for the given Tab to this TabbedPanel.

Parameters

tab – The Tab to be added.

Tab

class reahl.web.bootstrap.tabbedpanel.Tab(view, title, tab_key, contents_factory)

One Tab in a TabbedPanel, including the contents that should be displayed for it.

Parameters
  • view – (See reahl.web.fw.Widget)

  • title – The label Text that is displayed inside the Tab itself.

  • tab_key – A name for this tag identifying it uniquely amongst other Tabs in the same TabbedPanel.

  • contents_factory – A reahl.web.fw.WidgetFactory specifying how to create the contents of this Tab, once selected.

MultiTab

class reahl.web.bootstrap.tabbedpanel.MultiTab(view, title, tab_key)

A composite tab. Instead of a single choice for the user, clicking on a MultiTab results in a dropdown menu with more choices for the user. These second-level choices are navigable tabs.

Parameters