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 stateThe type of virtual elements
Text: Just a text contentElement: Render as DOM Element likediv,pand so onOperativeElement: Render as DOM Element but is not rendered children of it automatically
Constructors
Text StringElement (VObject f state Aff)OperativeElement (BridgeFoot f state) (VObject f state (VRender f state))
#BridgeFoot Source
newtype BridgeFoot f stateThe type for bridging rendering history from previous element to next element.
#createBridgeFoot Source
createBridgeFoot :: forall state f. Unit -> BridgeFoot f stateThis is for internal. Do not use it.
#bridge Source
bridge :: forall state f. BridgeFoot f state -> BridgeFoot f state -> Effect UnitThis 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 withkidsofOperativeElementgetLatestRenderedChildren: Get children already renderedrenderChildren: Patch passed children with previous rendered children
#VRenderEnv Source
newtype VRenderEnv f stateThis 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 aMonad 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 aThis is for internal. Do not use it.