ihp-ssc-1.5.0: Server Side Components for IHP
Copyright(c) digitally induced GmbH 2021
Safe HaskellNone
LanguageGHC2021

IHP.ServerSideComponent.Types

Description

 
Synopsis

Documentation

class Component state action | state -> action where Source #

Minimal complete definition

initialState, render, action

Methods

initialState :: state Source #

render :: state -> Html Source #

action :: state -> action -> IO state Source #

componentDidMount :: state -> IO state Source #

data ComponentsController (components :: k) Source #

Constructors

ComponentsController 

Instances

Instances details
(Typeable components, Typeable k) => Data (ComponentsController components) Source # 
Instance details

Defined in IHP.ServerSideComponent.Types

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ComponentsController components -> c (ComponentsController components) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (ComponentsController components) #

toConstr :: ComponentsController components -> Constr #

dataTypeOf :: ComponentsController components -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (ComponentsController components)) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (ComponentsController components)) #

gmapT :: (forall b. Data b => b -> b) -> ComponentsController components -> ComponentsController components #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ComponentsController components -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ComponentsController components -> r #

gmapQ :: (forall d. Data d => d -> u) -> ComponentsController components -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> ComponentsController components -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> ComponentsController components -> m (ComponentsController components) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ComponentsController components -> m (ComponentsController components) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ComponentsController components -> m (ComponentsController components) #

Show (ComponentsController components) Source # 
Instance details

Defined in IHP.ServerSideComponent.Types

Methods

showsPrec :: Int -> ComponentsController components -> ShowS #

show :: ComponentsController components -> String #

showList :: [ComponentsController components] -> ShowS #

Eq (ComponentsController components) Source # 
Instance details

Defined in IHP.ServerSideComponent.Types

Methods

(==) :: ComponentsController components -> ComponentsController components -> Bool #

(/=) :: ComponentsController components -> ComponentsController components -> Bool #

(Component component controller, FromJSON controller, Typeable component) => WSApp (ComponentsController component) Source # 
Instance details

Defined in IHP.ServerSideComponent.Controller.ComponentsController

data ComponentInstance state Source #

Constructors

ComponentInstance

If you wondered why the current rendered HTML doesn't need to be stored here for later diffing it: As our render functions are pure we can just re-render the HTML based on the state when we want to do our diffing

Fields

Instances

Instances details
SetField "state" (ComponentInstance state) state Source # 
Instance details

Defined in IHP.ServerSideComponent.Types

Methods

setField :: state -> ComponentInstance state -> ComponentInstance state #

data SSCError Source #

Error types for SSC operations sent to the client

Instances

Instances details
FromJSON SSCError Source # 
Instance details

Defined in IHP.ServerSideComponent.ControllerFunctions

ToJSON SSCError Source # 
Instance details

Defined in IHP.ServerSideComponent.ControllerFunctions

Generic SSCError Source # 
Instance details

Defined in IHP.ServerSideComponent.Types

Associated Types

type Rep SSCError 
Instance details

Defined in IHP.ServerSideComponent.Types

type Rep SSCError = D1 ('MetaData "SSCError" "IHP.ServerSideComponent.Types" "ihp-ssc-1.5.0-8asYxXnqkar20P3jKf4Jv" 'False) (C1 ('MetaCons "SSCDiffError" 'PrefixI 'True) (S1 ('MetaSel ('Just "errorMessage") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Text)) :+: (C1 ('MetaCons "SSCActionError" 'PrefixI 'True) (S1 ('MetaSel ('Just "errorMessage") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Text)) :+: C1 ('MetaCons "SSCParseError" 'PrefixI 'True) (S1 ('MetaSel ('Just "errorMessage") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Text))))

Methods

from :: SSCError -> Rep SSCError x #

to :: Rep SSCError x -> SSCError #

Show SSCError Source # 
Instance details

Defined in IHP.ServerSideComponent.Types

Eq SSCError Source # 
Instance details

Defined in IHP.ServerSideComponent.Types

type Rep SSCError Source # 
Instance details

Defined in IHP.ServerSideComponent.Types

type Rep SSCError = D1 ('MetaData "SSCError" "IHP.ServerSideComponent.Types" "ihp-ssc-1.5.0-8asYxXnqkar20P3jKf4Jv" 'False) (C1 ('MetaCons "SSCDiffError" 'PrefixI 'True) (S1 ('MetaSel ('Just "errorMessage") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Text)) :+: (C1 ('MetaCons "SSCActionError" 'PrefixI 'True) (S1 ('MetaSel ('Just "errorMessage") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Text)) :+: C1 ('MetaCons "SSCParseError" 'PrefixI 'True) (S1 ('MetaSel ('Just "errorMessage") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Text))))