aboutsummaryrefslogtreecommitdiff
path: root/js/src/EditableNumber.purs
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/EditableNumber.purs')
-rw-r--r--js/src/EditableNumber.purs55
1 files changed, 0 insertions, 55 deletions
diff --git a/js/src/EditableNumber.purs b/js/src/EditableNumber.purs
deleted file mode 100644
index 02ffe58..0000000
--- a/js/src/EditableNumber.purs
+++ /dev/null
@@ -1,55 +0,0 @@
-module EditableNumber
- ( NumberElem
- , set
- ) where
-
-import Data.Maybe (Maybe(..))
-import Effect (Effect)
-import Prelude
-import Web.DOM.Document (createElement, createTextNode) as Document
-import Web.DOM.Element (setClassName, setAttribute, toNode) as Element
-import Web.DOM.Internal.Types (Element, Node)
-import Web.DOM.Node (textContent) as Node
-import Web.DOM.Text (toNode) as Text
-import Web.HTML (window) as HTML
-import Web.HTML.HTMLDocument (toDocument) as HTMLDocument
-import Web.HTML.Window (document) as Window
-
-import Dom (replaceElement, appendNodes) as Dom
-import Number (format) as Number
-import Parser (TextWithNumber)
-import Parser (textWithNumber) as Parser
-
-type NumberElem =
- { elem :: Element
- , number :: Number
- }
-
-set :: { tag :: String, node :: Node } -> Effect (Maybe NumberElem)
-set { tag, node } = do
- content <- Node.textContent node
- case Parser.textWithNumber content of
- Just twn -> do
- textWithNumber <- textWithNumberElem tag twn
- Dom.replaceElement node (Element.toNode textWithNumber)
- pure (Just { elem: textWithNumber, number: twn.number })
- Nothing ->
- pure Nothing
-
-textWithNumberElem :: String -> TextWithNumber -> Effect Element
-textWithNumberElem tag { begin, number, end } = do
- document <- HTMLDocument.toDocument <$> (HTML.window >>= Window.document)
- elem <- Document.createElement tag document
- beginNode <- Text.toNode <$> Document.createTextNode begin document
- numberNode <- numberElem number
- endNode <- Text.toNode <$> Document.createTextNode end document
- Dom.appendNodes (Element.toNode elem) [ beginNode, Element.toNode numberNode, endNode ]
- pure elem
-
-numberElem :: Number -> Effect Element
-numberElem number = do
- document <- HTMLDocument.toDocument <$> (HTML.window >>= Window.document)
- container <- Document.createElement "input" document
- Element.setClassName "number" container
- Element.setAttribute "value" (Number.format number) container
- pure container