Как я могу преобразовать значение Maybe в значение? - PullRequest
0 голосов
/ 29 марта 2019

У меня возникла проблема с моим кодом, я пытаюсь его скомпилировать, но он выдает меня. Не удалось сопоставить Возможно элемент с элементом

Почему?как Может Работать ?, как я могу преобразовать это в Значение?почему так сложно понять монады и функторы, и почему нелегкая библиотека для начинающих, начинающих с purescript?: P

(для тех, кто не понял, я просто спрашивал первые 3)

module Main where

import Prelude --(Unit, bind, pure,  ($), (<$>))
import Effect (Effect)
import Data.Maybe --(Just,Maybe,fromJust, fromMaybe)
import Data.Foldable (traverse_)
import Effect.Console (log)

import Web.HTML (window)
import Web.HTML.Window (document)
import Web.HTML.HTMLDocument (toNonElementParentNode)
import Web.Event.Event (Event, target)
import Web.HTML.HTMLInputElement (value, fromEventTarget)

import Web.DOM.NonElementParentNode (NonElementParentNode,getElementById)
import Web.DOM.Node (setTextContent)
import Web.DOM.Element (Element,toNode)
import Web.Event.EventTarget (addEventListener)

pname = "#inputName" :: String
bname = "#badgeName" :: String

main :: Effect Unit
main = do
  nod1 <- returnNonElementParentNode
--querySelector :: QuerySelector -> ParentNode -> Effect (Maybe Element)
  elementTarget <- getElementById pname nod1
--addEventListener :: EventType -> EventListener -> Boolean -> EventTarget
  addEventListener "input" updateBadge false elementTarget

updateBadge :: Event -> Unit
updateBadge event = do
  nod2 <- returnNonElementParentNode
  elementTarget <- getElementById bname nod2

  tget <- target event
  inml <- fromEventTarget tget
  input <- value inml

  badge <- toNode (pure elementTarget)

  if not(badge == Nothing) 
    then setTextContent input (toNode badge) 
    else Nothing

returnNonElementParentNode :: Effect NonElementParentNode
returnNonElementParentNode = do 
  win <- window
  doc <- document win
  --let nd  = toNonElementParentNode doc
  let 
      nod = toNonElementParentNode doc
  pure nod

Я просто хочу понять, как получить входное значение из htmlInputElement и передать егов textContent другого HTMLElement

в значительной степени, как преобразовать Возможно в Значение для передачи в toNode функцию

...