aboutsummaryrefslogtreecommitdiff
path: root/js/src/Main.purs
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/Main.purs')
-rw-r--r--js/src/Main.purs50
1 files changed, 0 insertions, 50 deletions
diff --git a/js/src/Main.purs b/js/src/Main.purs
deleted file mode 100644
index 0ff5fd7..0000000
--- a/js/src/Main.purs
+++ /dev/null
@@ -1,50 +0,0 @@
-module Main (main) where
-
-import Data.Array (catMaybes) as Array
-import Data.Maybe (Maybe(..))
-import Data.Traversable (sequence, sequence_) as Traversable
-import Effect (Effect)
-import Prelude
-import Web.DOM.Element (toNode) as Element
-import Web.DOM.Internal.Types (Node)
-import Web.DOM.ParentNode (QuerySelector(..))
-
-import Dom (selectElement, selectElements, onInput, setValue, selectElementFrom) as Dom
-import EditableNumber (NumberElem)
-import EditableNumber (set) as EditableNumber
-import Number (format) as Number
-import Parser (number) as Parser
-
-main :: Effect Unit
-main = do
- tagElems <- getNumberElements
- numberElems <- Array.catMaybes <$> (Traversable.sequence $ map EditableNumber.set tagElems)
- Traversable.sequence_ $ map (onInput numberElems) numberElems
-
-getNumberElements :: Effect (Array { tag :: String, node :: Node })
-getNumberElements = do
- let fromElem tag elem = { tag: tag, node: Element.toNode elem }
- h1 <- map (fromElem "h1") <$> Dom.selectElement (QuerySelector "h1")
- lis <- map (fromElem "li") <$> Dom.selectElements (QuerySelector "ul > li")
- pure $ (maybeToArray h1 <> lis)
-
-onInput :: Array NumberElem -> NumberElem -> Effect Unit
-onInput numberElems { elem, number } = do
- Dom.onInput elem (\value -> do
- case Parser.number value of
- Just newNumber ->
- numberElems
- # map (\ne -> do
- inputNode <- Dom.selectElementFrom ne.elem (QuerySelector "input")
- case inputNode of
- Just node -> Dom.setValue (Number.format (ne.number / number * newNumber)) node
- _ -> pure unit
- )
- # Traversable.sequence_
- _ ->
- pure unit
- )
-
-maybeToArray :: forall a. Maybe a -> Array a
-maybeToArray (Just x) = [ x ]
-maybeToArray _ = []