diff options
author | 2012-09-08 19:57:15 -0400 | |
---|---|---|
committer | 2012-09-08 19:57:15 -0400 | |
commit | e59b0a1c884b4222162b444d0d306f67f2a6ca30 (patch) | |
tree | 78c2b8c0cfe9c6c52e31b0de2b4a730a7f080635 /Assistant/WebApp/SideBar.hs | |
parent | e6e0877378af85293356b1c7d644a6df6cc40415 (diff) |
first pass at alert buttons
They work fine. But I had to go to a lot of trouble to get Yesod to render
routes in a pure function. It may instead make more sense to have each
alert have an assocated IO action, and a single route that runs the IO
action of a given alert id. I just wish I'd realized that before the past
several hours of struggling with something Yesod really doesn't want to
allow.
Diffstat (limited to 'Assistant/WebApp/SideBar.hs')
-rw-r--r-- | Assistant/WebApp/SideBar.hs | 18 |
1 files changed, 6 insertions, 12 deletions
diff --git a/Assistant/WebApp/SideBar.hs b/Assistant/WebApp/SideBar.hs index 20fd09c2e..fd1f70038 100644 --- a/Assistant/WebApp/SideBar.hs +++ b/Assistant/WebApp/SideBar.hs @@ -36,24 +36,18 @@ sideBarDisplay = do $(widgetFile "sidebar/main") autoUpdate ident NotifierSideBarR (10 :: Int) (10 :: Int) where + bootstrapclass :: AlertClass -> Text bootstrapclass Activity = "alert-info" bootstrapclass Warning = "alert" bootstrapclass Error = "alert-error" bootstrapclass Success = "alert-success" bootstrapclass Message = "alert-info" - renderalert (alertid, alert) = addalert - alertid - (alertClosable alert) - (alertBlockDisplay alert) - (bootstrapclass $ alertClass alert) - (renderAlertHeader alert) - (renderAlertMessage alert) - (alertIcon alert) - - addalert :: AlertId -> Bool -> Bool -> Text -> Maybe Text -> Text -> Maybe String -> Widget - addalert i closable block divclass heading message icon = do - let alertid = show i + renderalert (aid, alert) = do + let alertid = show aid + let closable = alertClosable alert + let block = alertBlockDisplay alert + let divclass = bootstrapclass $ alertClass alert $(widgetFile "sidebar/alert") {- Called by client to get a sidebar display. |