aboutsummaryrefslogtreecommitdiff
path: root/client/src/Util/Dom.hs
blob: f3e9c88639186d3e814955c3c432d97c116c18ef (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
module Util.Dom
  ( divVisibleIf
  , divClassVisibleIf
  ) where

import qualified Data.Map   as M
import           Data.Text  (Text)
import           Reflex.Dom (Dynamic, MonadWidget)
import qualified Reflex.Dom as R

divVisibleIf :: forall t m a. MonadWidget t m => Dynamic t Bool -> m a -> m a
divVisibleIf cond content = divClassVisibleIf cond "" content

divClassVisibleIf :: forall t m a. MonadWidget t m => Dynamic t Bool -> Text -> m a -> m a
divClassVisibleIf cond className content =
  R.elDynAttr
    "div"
    (fmap (\c -> (M.singleton "class" className) `M.union` if c then M.empty else M.singleton "style" "display:none") cond)
    content