aboutsummaryrefslogtreecommitdiff
path: root/src/client/Component/Button.hs
diff options
context:
space:
mode:
authorJoris2017-11-08 23:47:26 +0100
committerJoris2017-11-08 23:47:26 +0100
commit27e11b20b06f2f2dbfb56c0998a63169b4b8abc4 (patch)
tree845f54d7fe876c9a3078036975ba85ec21d224a1 /src/client/Component/Button.hs
parenta3601b5e6f5a3e41fa31752a2c704ccd3632790e (diff)
downloadbudget-27e11b20b06f2f2dbfb56c0998a63169b4b8abc4.tar.gz
budget-27e11b20b06f2f2dbfb56c0998a63169b4b8abc4.tar.bz2
budget-27e11b20b06f2f2dbfb56c0998a63169b4b8abc4.zip
Use a better project structure
Diffstat (limited to 'src/client/Component/Button.hs')
-rw-r--r--src/client/Component/Button.hs53
1 files changed, 0 insertions, 53 deletions
diff --git a/src/client/Component/Button.hs b/src/client/Component/Button.hs
deleted file mode 100644
index f21798c..0000000
--- a/src/client/Component/Button.hs
+++ /dev/null
@@ -1,53 +0,0 @@
-{-# LANGUAGE ExistentialQuantification #-}
-{-# LANGUAGE OverloadedStrings #-}
-
-module Component.Button
- ( ButtonIn(..)
- , buttonInDefault
- , ButtonOut(..)
- , button
- ) where
-
-import qualified Data.Map as M
-import Data.Monoid ((<>))
-import Data.Text (Text)
-import qualified Data.Text as T
-import Reflex.Dom (MonadWidget, Event)
-import qualified Reflex.Dom as R
-
-import qualified Icon
-
-data ButtonIn t m = ButtonIn
- { _buttonIn_class :: Text
- , _buttonIn_content :: m ()
- , _buttonIn_waiting :: Event t Bool
- }
-
-buttonInDefault :: forall t m. MonadWidget t m => ButtonIn t m
-buttonInDefault = ButtonIn
- { _buttonIn_class = ""
- , _buttonIn_content = R.blank
- , _buttonIn_waiting = R.never
- }
-
-data ButtonOut t = ButtonOut
- { _buttonOut_clic :: Event t ()
- }
-
-button :: forall t m. MonadWidget t m => ButtonIn t m -> m (ButtonOut t)
-button buttonIn = do
- attr <- R.holdDyn
- (M.fromList [("type", "button"), ("class", _buttonIn_class buttonIn)])
- (fmap
- (\w -> M.fromList $
- [ ("type", "button") ]
- <> if w
- then [("class", T.concat [ _buttonIn_class buttonIn, " waiting" ])]
- else [("class", _buttonIn_class buttonIn)])
- (_buttonIn_waiting buttonIn))
- (e, _) <- R.elDynAttr' "button" attr $ do
- Icon.loading
- R.divClass "content" $ _buttonIn_content buttonIn
- return $ ButtonOut
- { _buttonOut_clic = R.domEvent R.Click e
- }