Slide 14
Slide 14 text
Incremental DOM
newtype ViewChanges eff = ViewChanges
{ text :: Last String
, attrs :: MapChanges String
(Atomic String)
(Last String)
, handlers :: MapChanges String
(Atomic (EventListener eff))
(Last (EventListener eff))
, kids :: Array
(ArrayChange (View eff)
(ViewChanges eff))
}
Translate model changes directly into DOM updates.
See purescript-purview.
newtype View eff = View
{ element :: String
, text :: Atomic String
, attrs :: IMap String
(Atomic String)
, handlers :: IMap String
(Atomic (EventListener eff))
, kids :: IArray (View eff)
}