Module
MVC.Variant.UI
- Package
- purescript-mvc
- Repository
- thought2/purescript-mvc
#UIVariantProps Source
type UIVariantProps :: (Type -> Type) -> Symbol -> Type
type UIVariantProps srf initsym = { initCase :: Proxy initsym, view :: forall msg. ViewArgs srf msg -> srf msg }
#UIVariant Source
class UIVariant :: Row Type -> (Type -> Type) -> Symbol -> Row Type -> Row Type -> Row Type -> Constraint
class UIVariant (uis :: Row Type) (srf :: Type -> Type) (initsym :: Symbol) (rcase :: Row Type) (rmsg :: Row Type) (rsta :: Row Type) | uis -> srf initsym rmsg rsta where
Members
uiVariant :: Record uis -> UIVariantProps srf initsym -> UI srf (VariantMsg rcase rmsg) (VariantState rsta)
Instances
(MapProp "init" uis inits, MapProp "update" uis updates, MapProp "view" uis views, InitVariant initsym inits rsta, UpdateVariant inits updates rcase rmsg rsta, ViewVariant srf views rcase rmsg rsta) => UIVariant uis srf initsym rcase rmsg rsta