From 11052951b74b9ad4b6a9412ae490086235f9154b Mon Sep 17 00:00:00 2001 From: Joris Date: Sun, 3 Jan 2021 13:40:40 +0100 Subject: Rewrite in Rust --- client/src/Util/Reflex.hs | 59 ----------------------------------------------- 1 file changed, 59 deletions(-) delete mode 100644 client/src/Util/Reflex.hs (limited to 'client/src/Util/Reflex.hs') diff --git a/client/src/Util/Reflex.hs b/client/src/Util/Reflex.hs deleted file mode 100644 index aa5cebb..0000000 --- a/client/src/Util/Reflex.hs +++ /dev/null @@ -1,59 +0,0 @@ -module Util.Reflex - ( visibleIfDyn - , visibleIfEvent - , divVisibleIf - , divClassVisibleIf - , flatten - , flattenTuple - , getBody - ) where - -import qualified Data.Map as M -import Data.Text (Text) -import qualified GHCJS.DOM as Dom -import qualified GHCJS.DOM.Document as Document -import qualified GHCJS.DOM.HTMLCollection as HTMLCollection -import GHCJS.DOM.Types (Element) -import Reflex.Dom (Dynamic, Event, MonadWidget) -import qualified Reflex.Dom as R - -visibleIfDyn :: forall t m a. MonadWidget t m => Dynamic t Bool -> m a -> m a -> m (Event t a) -visibleIfDyn cond empty content = - R.dyn $ R.ffor cond $ \case - True -> content - False -> empty - -visibleIfEvent :: forall t m a. MonadWidget t m => Event t Bool -> m a -> m a -> m (Dynamic t a) -visibleIfEvent cond empty content = - R.widgetHold empty $ - R.ffor cond $ \case - True -> content - False -> empty - -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 - -flatten :: forall t m a. MonadWidget t m => Event t (Event t a) -> m (Event t a) -flatten e = do - dyn <- R.holdDyn R.never e - return $ R.switchDyn dyn - -flattenTuple - :: forall t m a b. MonadWidget t m - => Event t (Event t a, Event t b) - -> m (Event t a, Event t b) -flattenTuple e = (,) <$> (flatten $ fmap fst e) <*> (flatten $ fmap snd e) - -getBody :: forall t m. MonadWidget t m => m Element -getBody = do - document <- Dom.currentDocumentUnchecked - nodelist <- Document.getElementsByTagName document ("body" :: String) - Just body <- nodelist `HTMLCollection.item` 0 - return body -- cgit v1.2.3