Halogen.Component 
- Package
- purescript-halogen
- Repository
- slamdata/purescript-halogen
#Component Source
data Component (h :: Type -> Type -> Type) (f :: Type -> Type) i o (m :: Type -> Type)The "public" type for a component, with details of the component internals existentially hidden.
- his the type that will be rendered by the component, usually- HTML
- fis the query algebra
- iis the input value type that will be mapped to an- fwhenever the parent of this component renders
- ois the type for the component's output messages
- mis the monad used for non-component-state effects
#Component' Source
type Component' h s f g p i o m = { eval :: f ~> (HalogenM s f g p o m), finalizer :: Maybe (f Unit), initialState :: i -> s, initializer :: Maybe (f Unit), mkOrdBox :: p -> OrdBox p, receiver :: i -> Maybe (f Unit), render :: s -> h (ComponentSlot h g m p (f Unit)) (f Unit) }The "private" type for a component.
- his the type that will be rendered by the component, usually- HTML
- sis the component's state
- fis the query algebra for the component itself
- gis the query algebra for child components
- pis the slot type for addressing child components
- iis the input value type that will be mapped to an- fwhenever the parent of this component renders
- ois the type for the component's output messages
- mis the monad used for non-component-state effects
#mkComponent Source
mkComponent :: forall m o i p g f s h. Component' h s f g p i o m -> Component h f i o mMakes a Component from a Component', existentially hiding details about
the component's state and potential children.
#unComponent Source
unComponent :: forall r m o i f h. (forall p g s. Component' h s f g p i o m -> r) -> Component h f i o m -> rExposes the inner details of a component to a function to produce a new result. The inner details will not be allowed to be revealed in the result of the function - the compiler will complain about an escaped skolem.
#ComponentSpec Source
type ComponentSpec h s f i o m = { eval :: f ~> (ComponentDSL s f o m), initialState :: i -> s, receiver :: i -> Maybe (f Unit), render :: s -> h Void (f Unit) }A spec for a component with no possible children.
- his the type that will be rendered by the component, usually- HTML
- sis the component's state
- fis the query algebra
- iis the input value type that will be mapped to an- fwhenever the parent of this component renders
- ois the type for the component's output messages
- mis the monad used for non-component-state effects
#ComponentHTML Source
type ComponentHTML f = HTML Void (f Unit)A convenience synonym for the output type of a render function, for a
childless component that renders HTML.
#ComponentDSL Source
type ComponentDSL s f = HalogenM s f (Const Void) VoidA synonym for HalogenM with some type parameters populated that are not
relevant for childless components.
#component Source
component :: forall m o i f s h. Bifunctor h => ComponentSpec h s f i o m -> Component h f i o mBuilds a component with no possible children.
#LifecycleComponentSpec Source
type LifecycleComponentSpec h s f i o m = { eval :: f ~> (ComponentDSL s f o m), finalizer :: Maybe (f Unit), initialState :: i -> s, initializer :: Maybe (f Unit), receiver :: i -> Maybe (f Unit), render :: s -> h Void (f Unit) }A spec for a component with no possible children, including lifecycle inputs.
- his the type that will be rendered by the component, usually- HTML
- sis the component's state
- fis the query algebra
- iis the input value type that will be mapped to an- fwhenever the parent of this component renders
- ois the type for the component's output messages
- mis the monad used for non-component-state effects
#lifecycleComponent Source
lifecycleComponent :: forall m o i f s h. Bifunctor h => LifecycleComponentSpec h s f i o m -> Component h f i o mBuilds a component with lifecycle inputs and no possible children.
#ParentComponentSpec Source
type ParentComponentSpec h s f g p i o m = { eval :: f ~> (HalogenM s f g p o m), initialState :: i -> s, receiver :: i -> Maybe (f Unit), render :: s -> h (ComponentSlot h g m p (f Unit)) (f Unit) }A spec for a component.
- his the type that will be rendered by the component, usually- HTML
- sis the component's state
- fis the query algebra for the component itself
- gis the query algebra for child components
- pis the slot type for addressing child components
- ois the type for the component's output messages
- mis the monad used for non-component-state effects
#parentComponent Source
parentComponent :: forall m o i p g f s h. Ord p => ParentComponentSpec h s f g p i o m -> Component h f i o mBuilds a component that allows for children.
#ParentHTML Source
type ParentHTML f g p m = HTML (ComponentSlot HTML g m p (f Unit)) (f Unit)A convenience synonym for the output type of a render function, for a
parent component that renders HTML.
#ParentLifecycleComponentSpec Source
type ParentLifecycleComponentSpec h s f g p i o m = { eval :: f ~> (HalogenM s f g p o m), finalizer :: Maybe (f Unit), initialState :: i -> s, initializer :: Maybe (f Unit), receiver :: i -> Maybe (f Unit), render :: s -> h (ComponentSlot h g m p (f Unit)) (f Unit) }A spec for a parent component, including lifecycle inputs.
- his the type that will be rendered by the component, usually- HTML
- sis the component's state
- fis the query algebra for the component itself
- gis the query algebra for child components
- pis the slot type for addressing child components
- ois the type for the component's output messages
- mis the monad used for non-component-state effects
#lifecycleParentComponent Source
lifecycleParentComponent :: forall m o i p g f s h. Ord p => ParentLifecycleComponentSpec h s f g p i o m -> Component h f i o mBuilds a component with lifecycle inputs that allows for children.
#ComponentSlot Source
data ComponentSlot (h :: Type -> Type -> Type) (g :: Type -> Type) (m :: Type -> Type) p qInstances
- Bifunctor (ComponentSlot h g m)
- Functor (ComponentSlot h g m p)
#mkComponentSlot Source
mkComponentSlot :: forall o q j p m z g h. p -> (Component h z j o m) -> j -> (j -> Maybe (g Unit)) -> (o -> Maybe q) -> (forall x. g x -> Maybe (z x)) -> ComponentSlot h g m p q#unComponentSlot Source
unComponentSlot :: forall r q p m g h. (forall o j z. p -> Component h z j o m -> j -> (j -> Maybe (g Unit)) -> (o -> Maybe q) -> (forall x. g x -> Maybe (z x)) -> r) -> ComponentSlot h g m p q -> r#hoistSlot Source
hoistSlot :: forall q p m' m g h. Bifunctor h => Functor m' => (m ~> m') -> ComponentSlot h g m p q -> ComponentSlot h g m' p q- Modules
- Halogen
- Halogen.Aff 
- Halogen.Aff. Driver 
- Halogen.Aff. Driver. Eval 
- Halogen.Aff. Driver. State 
- Halogen.Aff. Effects 
- Halogen.Aff. Util 
- Halogen.Component 
- Halogen.Component. ChildPath 
- Halogen.Component. Profunctor 
- Halogen.Data. OrdBox 
- Halogen.Data. Prism 
- Halogen.HTML 
- Halogen.HTML. Core 
- Halogen.HTML. Elements 
- Halogen.HTML. Elements. Keyed 
- Halogen.HTML. Events 
- Halogen.HTML. Properties 
- Halogen.HTML. Properties. ARIA 
- Halogen.Query 
- Halogen.Query. EventSource 
- Halogen.Query. ForkF 
- Halogen.Query. HalogenM 
- Halogen.Query. InputF 
- Halogen.VDom. Driver