Module

Chameleon.Impl.Halogen.Mount.Routed

Package
purescript-chameleon-halogen
Repository
thought2/purescript-chameleon-halogen

#RouteIO Source

type RouteIO route = { listen :: (route -> Effect Unit) -> Effect (Effect Unit), pushRoute :: route -> Effect Unit }

#RouteSpec Source

type RouteSpec route msg sta = { mkRoute :: msg -> sta -> These route msg, updateStateFromRoute :: route -> sta -> sta }

#mkRoutableComponent Source

mkRoutableComponent :: forall q i o msg sta route. { onStateChange :: sta -> sta -> Effect Unit, routeIO :: RouteIO route, routeSpec :: RouteSpec route msg sta } -> UI HalogenHtml msg sta -> (Component q i o Aff)