| Safe Haskell | None |
|---|
Snap.Extras.Tabs
Description
Purpose of this module is to provide a simple, functional way to define tabs in Snap applications.
Define Tabs in DOM via Heist
initTabs :: HasHeist b => Initializer b v ()Source
tabsSplice :: MonadSnap m => Splice mSource
Define Tabs in Haskell
data TabActiveMode Source
How do we decide active for tab state?
Constructors
| TAMExactMatch | Current url has to match exactly |
| TAMPrefixMatch | Only the prefix needs to match current url |
| TAMInfixMatch | A sub-set of the current url has to match |
| TAMDontMatch |
Arguments
| :: MonadSnap m | |
| => Text | A class to be given to the parent ul tag |
| -> [Tab] | List of tabs in order |
| -> Splice m |
Make tabs from tab definitions. Use the tab combinator to
define individual options.
Arguments
| :: Text | Target URL for tab |
| -> Text | A text/label for tab |
| -> [(Text, Text)] | A list of attributes as key=val |
| -> TabActiveMode | A |
| -> Tab |
Tab item constructor to be used with mkTabs. Just supply the
given arguments here and it will create a Tab ready to be used in
mkTabs.
If the tab is currently active, the li tag will get a class of 'active'.
Make sure to provide a trailing / when indicating URLs as snap context paths contain it and active tab checks will be confused without it.