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, usuallyHTMLfis the query algebraiis the input value type that will be mapped to anfwhenever the parent of this component rendersois the type for the component's output messagesmis 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.
#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, usuallyHTMLsis the component's statefis the query algebra for the component itselfgis the query algebra for child componentspis the slot type for addressing child componentsiis the input value type that will be mapped to anfwhenever the parent of this component rendersois the type for the component's output messagesmis the monad used for non-component-state effects
#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, usuallyHTMLsis the component's statefis the query algebraiis the input value type that will be mapped to anfwhenever the parent of this component rendersois the type for the component's output messagesmis 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, usuallyHTMLsis the component's statefis the query algebraiis the input value type that will be mapped to anfwhenever the parent of this component rendersois the type for the component's output messagesmis 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, usuallyHTMLsis the component's statefis the query algebra for the component itselfgis the query algebra for child componentspis the slot type for addressing child componentsois the type for the component's output messagesmis the monad used for non-component-state effects
#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.
#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.
#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, usuallyHTMLsis the component's statefis the query algebra for the component itselfgis the query algebra for child componentspis the slot type for addressing child componentsois the type for the component's output messagesmis 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