feat(tooltips): tooltips from messages

This commit is contained in:
Sarah Vaupel 2019-09-25 17:59:02 +02:00
parent 2ca7085ec9
commit f85ab69114
6 changed files with 17 additions and 11 deletions

View File

@ -146,6 +146,7 @@ postAdminTestR = do
$forall m <- msgs $forall m <- msgs
<li>#{m} <li>#{m}
|] |]
let testTooltip = toWidget [whamlet|Hier könnte Ihr Tooltip stehen!|] :: WidgetFor UniWorX ()
{- The following demonstrates the use of @massInput@. {- The following demonstrates the use of @massInput@.

View File

@ -116,10 +116,11 @@ icon ic = [shamlet|
-- Create an icon (defaults to "?") with a specified tooltip -- Create an icon (defaults to "?") with a specified tooltip
iconTooltip :: forall site. WidgetFor site () -> Maybe Icon -> WidgetFor site () iconTooltip :: forall site. WidgetFor site () -> Maybe Icon -> WidgetFor site ()
iconTooltip tt mic = let ic = iconText $ case mic of iconTooltip tooltip mIcon = let ic = iconText $ case mIcon of
Nothing -> IconTooltipDefault Nothing -> IconTooltipDefault
Just i -> i Just i -> i
in $(whamletFile "templates/widgets/tooltip.hamlet") urgency = "urgency__info" :: Text
in $(whamletFile "templates/widgets/tooltip.hamlet")
-- declare constats for all icons for compatibility and convenience -- declare constats for all icons for compatibility and convenience
-- "IconCourse" generates "iconCourse = icon IconCourse" -- "IconCourse" generates "iconCourse = icon IconCourse"

View File

@ -193,4 +193,10 @@ messageWidget mc wgt = do
getMessages :: MonadHandler m => m [Message] getMessages :: MonadHandler m => m [Message]
getMessages = fmap decodeMessage <$> ClassyPrelude.Yesod.getMessages getMessages = fmap decodeMessage <$> ClassyPrelude.Yesod.getMessages
messageTooltip :: forall site. Message -> WidgetFor site ()
messageTooltip Message{..} = let urgency = statusToUrgencyClass messageStatus
ic = iconText $ case messageIcon of
Nothing -> IconWarning
Just i -> i
tooltip = toWidget messageContent :: WidgetFor site ()
in $(whamletFile "templates/widgets/tooltip.hamlet")

View File

@ -8,10 +8,7 @@
Der Handler sollte jeweils aktuelle Beispiele für alle möglichen Funktionalitäten enthalten, so dass man immer weiß, wo man nachschlagen kann. Der Handler sollte jeweils aktuelle Beispiele für alle möglichen Funktionalitäten enthalten, so dass man immer weiß, wo man nachschlagen kann.
<p> <p>
<div .tooltip> ^{iconTooltip testTooltip Nothing}
<div .tooltip__handle>
<div .tooltip__content>Hier könnte Ihr Tooltip stehen!
Hier ist ein Text mit einem eingebetteten Tooltip.
<p> <p>
<span .tooltip> <span .tooltip>

View File

@ -6,6 +6,7 @@
<td> <td>
<div .tooltip> <div .tooltip>
<div .tooltip__handle> <div .tooltip__handle>
#{iconWarning}
<div .tooltip__content> <div .tooltip__content>
_{MsgEmailInvitationWarning} _{MsgEmailInvitationWarning}
<td> <td>

View File

@ -1,7 +1,7 @@
$newline never $newline never
<div .tooltip> <div .tooltip>
<div .tooltip__handle> <div .tooltip__handle .#{urgency}>
<i .fas .fa-^{ic}> <i .fas .fa-^{ic}>
<div .tooltip__content> <div .tooltip__content>
^{tt} ^{tooltip}