Module
Halogen.VDom
- Package
- purescript-halogen-vdom
- Repository
- slamdata/purescript-halogen-vdom
Re-exports from Halogen.VDom.DOM
#VDomSpec Source
newtype VDomSpec eff a w
Widget machines recursively reference the configured spec to potentially enable recursive trees of Widgets.
Constructors
VDomSpec { buildAttributes :: Element -> VDomMachine eff a Unit, buildWidget :: VDomSpec eff a w -> VDomMachine eff w Node, document :: Document }
#VDomMachine Source
type VDomMachine eff a b = Machine (Eff eff) a b
#buildVDom Source
buildVDom :: forall w a eff. VDomSpec (VDomEffects eff) a w -> VDomMachine (VDomEffects eff) (VDom a w) Node
Starts an initial VDom
machine by providing a VDomSpec
.
main = do
machine1 ← buildVDom spec vdomTree1
machine2 ← Machine.step machine1 vdomTree2
machine3 ← Machine.step machine2 vdomTree3
...
Re-exports from Halogen.VDom.Machine
Re-exports from Halogen.VDom.Types
#VDom Source
data VDom a w
The core virtual-dom tree type, where a
is the type of attributes,
and w
is the type of "widgets". Widgets are machines that have complete
control over the lifecycle of some DOM.Node
.
The Grafted
constructor and associated machinery enables bimap
fusion using a Coyoneda-like encoding.
Constructors
Text String
Elem (ElemSpec a) (Array (VDom a w))
Keyed (ElemSpec a) (Array (Tuple String (VDom a w)))
Widget w
Grafted (Graft a w)