Module
Freedom.VNode
- Package
- purescript-freedom
- Repository
- purescript-freedom/purescript-freedom
#VObject Source
type VObject f state m = { children :: Array (VNode f state), didCreate :: Element -> FreeT (f state) m Unit, didDelete :: Element -> FreeT (f state) m Unit, didUpdate :: Element -> FreeT (f state) m Unit, handlers :: Object (Event -> FreeT (f state) m Unit), props :: Object String, tag :: String }
The representation for Element
and OperativeElement
#VElement Source
data VElement f state
The type of virtual elements
Text
: Just a text contentElement
: Render as DOM Element likediv
,p
and so onOperativeElement
: Render as DOM Element but is not rendered children of it automatically
Constructors
Text String
Element (VObject f state Aff)
OperativeElement (BridgeFoot f state) (VObject f state (VRender f state))
#BridgeFoot Source
newtype BridgeFoot f state
The type for bridging rendering history from previous element to next element.
#createBridgeFoot Source
createBridgeFoot :: forall state f. Unit -> BridgeFoot f state
This is for internal. Do not use it.
#bridge Source
bridge :: forall state f. BridgeFoot f state -> BridgeFoot f state -> Effect Unit
This is for internal. Do not use it.
#fromBridgeFoot Source
fromBridgeFoot :: forall state f. BridgeFoot f state -> Effect (Ref (Array (Array (VNode f state))))
This is for internal. Do not use it.
#Operations Source
type Operations f state = { getLatestRenderedChildren :: Effect (Array (VNode f state)), getOriginChildren :: Effect (Array (VNode f state)), renderChildren :: Node -> Array (VNode f state) -> Effect Unit }
Operations for rendering children by OperativeElement
getOriginChildren
: Get children passed withkids
ofOperativeElement
getLatestRenderedChildren
: Get children already renderedrenderChildren
: Patch passed children with previous rendered children
#VRenderEnv Source
newtype VRenderEnv f state
This is for internal. Do not use it.
Constructors
VRenderEnv (Operations f state)
Instances
MonadAsk (VRenderEnv f state) (VRender f state)
#VRender Source
newtype VRender f state a
Monad for event handlers and lifecycles for OperativeElement
Instances
Functor (VRender f state)
Apply (VRender f state)
Applicative (VRender f state)
Alt (VRender f state)
Plus (VRender f state)
Bind (VRender f state)
Monad (VRender f state)
(Semigroup a) => Semigroup (VRender f state a)
(Monoid a) => Monoid (VRender f state a)
MonadEffect (VRender f state)
MonadAff (VRender f state)
MonadThrow Error (VRender f state)
MonadError Error (VRender f state)
MonadAsk (VRenderEnv f state) (VRender f state)
MonadRec (VRender f state)
#operations Source
operations :: forall state f. VRender f state (Operations f state)
Get operations
#runVRender Source
runVRender :: forall a state f. VRender f state a -> VRenderEnv f state -> Aff a
This is for internal. Do not use it.