| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
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
tabsSplice :: MonadSnap m => Splice m Source #
tabsCSplice :: MonadSnap m => Splice m Source #
Compiled splice for tabs.
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.