hyperbole-0.5.0: Interactive HTML apps using type-safe serverside Haskell
Safe HaskellSafe-Inferred
LanguageGHC2021

Web.Hyperbole.HyperView.ViewId

Synopsis

Documentation

class ViewId a where Source #

A unique identifier for a HyperView

data Message = Message1 | Message2
  deriving (Generic, ViewId)

Minimal complete definition

Nothing

Instances

Instances details
ViewId (Root views) Source # 
Instance details

Defined in Web.Hyperbole.HyperView.Types

class HasViewId m view where Source #

Access the viewId in a View or update

data LazyData = LazyData TaskId
  deriving (Generic, ViewId)

instance (Debug :> es, GenRandom :> es) => HyperView LazyData es where
  data Action LazyData
    = Details
    deriving (Generic, ViewAction)

  update Details = do
    LazyData taskId <- viewId
    task <- pretendLoadTask taskId
    pure $ viewTaskDetails task

Methods

viewId :: m view Source #

Instances

Instances details
HasViewId (Eff (Reader view ': es) :: Type -> Type) (view :: Type) Source # 
Instance details

Defined in Web.Hyperbole.HyperView.ViewId

Methods

viewId :: Eff (Reader view ': es) view Source #

HasViewId (View ctx :: Type -> Type) (ctx :: Type) Source # 
Instance details

Defined in Web.Hyperbole.HyperView.ViewId

Methods

viewId :: View ctx ctx Source #