glazier-react-0.5.0.0: ReactJS binding using Glazier and Pipes.Fluid

Safe HaskellNone
LanguageHaskell2010

Glazier.React.Model

Synopsis

Documentation

class HasPlan c pln | c -> pln where Source #

Lens to the callbacks and interactions with React

Minimal complete definition

plan

Methods

plan :: Lens' c pln Source #

Instances

HasPlan (Gizmo mdl pln) pln Source # 

Methods

plan :: Lens' (Gizmo mdl pln) pln Source #

HasPlan (Scene mdl pln) pln Source # 

Methods

plan :: Lens' (Scene mdl pln) pln Source #

class HasModel c mdl | c -> mdl where Source #

Lens to the pure model for state and rendering.

Minimal complete definition

model

Methods

model :: Lens' c mdl Source #

Instances

HasModel (Gizmo mdl pln) mdl Source # 

Methods

model :: Lens' (Gizmo mdl pln) mdl Source #

HasModel (Scene mdl pln) mdl Source # 

Methods

model :: Lens' (Scene mdl pln) mdl Source #

class ToOutline c o | c -> o where Source #

Convert to the pure serializable model for saving and restoring

Minimal complete definition

outline

Methods

outline :: c -> o Source #

Instances

ToOutline mdl o => ToOutline (Gizmo mdl pln) o Source #

A Gizmo can be converted to Outline by using the Model

Methods

outline :: Gizmo mdl pln -> o Source #

ToOutline mdl ol => ToOutline (Scene mdl pln) ol Source #

A Scene can be converted to Outline by using the Model

Methods

outline :: Scene mdl pln -> ol Source #

data Scene mdl pln Source #

A record of Model and Plan

Constructors

Scene 

Fields

Instances

Generic (Scene mdl pln) Source # 

Associated Types

type Rep (Scene mdl pln) :: * -> * #

Methods

from :: Scene mdl pln -> Rep (Scene mdl pln) x #

to :: Rep (Scene mdl pln) x -> Scene mdl pln #

(Disposing pln, Disposing mdl) => Disposing (Scene mdl pln) Source #

All scenes should be disposable to make it easier for cleanup of callbacks.

Methods

disposing :: Scene mdl pln -> SomeDisposable #

ToOutline mdl ol => ToOutline (Scene mdl pln) ol Source #

A Scene can be converted to Outline by using the Model

Methods

outline :: Scene mdl pln -> ol Source #

HasModel (Scene mdl pln) mdl Source # 

Methods

model :: Lens' (Scene mdl pln) mdl Source #

HasPlan (Scene mdl pln) pln Source # 

Methods

plan :: Lens' (Scene mdl pln) pln Source #

HasFrame (Frame mdl pln) mdl pln Source # 

Methods

frame :: Lens' (Frame mdl pln) (Frame mdl pln) Source #

HasScene (Scene mdl pln) mdl pln Source # 

Methods

scene :: Lens' (Scene mdl pln) (Scene mdl pln) Source #

type Rep (Scene mdl pln) Source # 
type Rep (Scene mdl pln) = D1 (MetaData "Scene" "Glazier.React.Model" "glazier-react-0.5.0.0-9ANqmC0rMHz1k8ZydfTrfe" False) (C1 (MetaCons "Scene" PrefixI True) ((:*:) (S1 (MetaSel (Just Symbol "_model") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 mdl)) (S1 (MetaSel (Just Symbol "_plan") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 pln))))

class HasScene c mdl pln | c -> mdl pln where Source #

Minimal complete definition

scene

Methods

scene :: Lens' c (Scene mdl pln) Source #

Instances

HasScene (Gizmo mdl pln) mdl pln Source # 

Methods

scene :: Lens' (Gizmo mdl pln) (Scene mdl pln) Source #

HasScene (Scene mdl pln) mdl pln Source # 

Methods

scene :: Lens' (Scene mdl pln) (Scene mdl pln) Source #

type Frame mdl pln = MVar (Scene mdl pln) Source #

Frame is a Mvar of Scene. React rendering callback uses this MVar for rendering.

class HasFrame c mdl pln | c -> mdl pln where Source #

Minimal complete definition

frame

Methods

frame :: Lens' c (Frame mdl pln) Source #

Instances

HasFrame (Gizmo mdl pln) mdl pln Source # 

Methods

frame :: Lens' (Gizmo mdl pln) (Frame mdl pln) Source #

HasFrame (Frame mdl pln) mdl pln Source # 

Methods

frame :: Lens' (Frame mdl pln) (Frame mdl pln) Source #

data Gizmo mdl pln Source #

A record of Scene and Frame.

Constructors

Gizmo 

Fields

Instances

Generic (Gizmo mdl pln) Source # 

Associated Types

type Rep (Gizmo mdl pln) :: * -> * #

Methods

from :: Gizmo mdl pln -> Rep (Gizmo mdl pln) x #

to :: Rep (Gizmo mdl pln) x -> Gizmo mdl pln #

Disposing (Scene mdl pln) => Disposing (Gizmo mdl pln) Source #

Undecidableinstances! But this is safe because Scene is definitely smaller than Gizmo

Methods

disposing :: Gizmo mdl pln -> SomeDisposable #

ToOutline mdl o => ToOutline (Gizmo mdl pln) o Source #

A Gizmo can be converted to Outline by using the Model

Methods

outline :: Gizmo mdl pln -> o Source #

HasModel (Gizmo mdl pln) mdl Source # 

Methods

model :: Lens' (Gizmo mdl pln) mdl Source #

HasPlan (Gizmo mdl pln) pln Source # 

Methods

plan :: Lens' (Gizmo mdl pln) pln Source #

HasGizmo (Gizmo mdl pln) mdl pln Source # 

Methods

gizmo :: Lens' (Gizmo mdl pln) (Gizmo mdl pln) Source #

HasFrame (Gizmo mdl pln) mdl pln Source # 

Methods

frame :: Lens' (Gizmo mdl pln) (Frame mdl pln) Source #

HasScene (Gizmo mdl pln) mdl pln Source # 

Methods

scene :: Lens' (Gizmo mdl pln) (Scene mdl pln) Source #

type Rep (Gizmo mdl pln) Source # 
type Rep (Gizmo mdl pln) = D1 (MetaData "Gizmo" "Glazier.React.Model" "glazier-react-0.5.0.0-9ANqmC0rMHz1k8ZydfTrfe" False) (C1 (MetaCons "Gizmo" PrefixI True) ((:*:) (S1 (MetaSel (Just Symbol "_scene") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Scene mdl pln))) (S1 (MetaSel (Just Symbol "_frame") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Frame mdl pln)))))

class (HasScene c mdl pln, HasFrame c mdl pln) => HasGizmo c mdl pln | c -> mdl pln where Source #

Minimal complete definition

gizmo

Methods

gizmo :: Lens' c (Gizmo mdl pln) Source #

Instances

HasGizmo (Gizmo mdl pln) mdl pln Source # 

Methods

gizmo :: Lens' (Gizmo mdl pln) (Gizmo mdl pln) Source #