Skip to content

Commit

Permalink
Improve active class tagging in tabs
Browse files Browse the repository at this point in the history
  • Loading branch information
ozataman committed Mar 2, 2014
1 parent 91fff79 commit 3a8b06a
Showing 1 changed file with 4 additions and 1 deletion.
5 changes: 4 additions & 1 deletion src/Snap/Extras/Tabs.hs
Expand Up @@ -25,6 +25,7 @@ import qualified Blaze.ByteString.Builder as B
import Control.Error import Control.Error
import Control.Monad import Control.Monad
import Control.Monad.Trans import Control.Monad.Trans

import Data.Monoid import Data.Monoid
import Data.Text (Text) import Data.Text (Text)
import qualified Data.Text as T import qualified Data.Text as T
Expand Down Expand Up @@ -94,7 +95,9 @@ tabCSplice getCtx = do
let res = either (error . ("Tab errror: " ++) ) id $ do let res = either (error . ("Tab errror: " ++) ) id $ do
(url, match) <- ps as ctx (url, match) <- ps as ctx
inner <- innerFrag inner <- innerFrag
let attr' = if match then ("class", "active") : as else as
let actClass = maybe "active" (T.append "active " ) $ lookup "class" as
attr' = if match then ("class", actClass) : as else as
a = X.Element "a" (("href", url) : as) (X.docContent inner) a = X.Element "a" (("href", url) : as) (X.docContent inner)
return $ X.renderHtmlFragment X.UTF8 [X.Element "li" attr' [a]] return $ X.renderHtmlFragment X.UTF8 [X.Element "li" attr' [a]]
return res return res
Expand Down

0 comments on commit 3a8b06a

Please sign in to comment.