glazier-react-widget-0.1.0.0: Generic widget library using glazier-react

Safe HaskellNone
LanguageHaskell2010

Glazier.React.Widgets.List

Synopsis

Documentation

data Command key itemWidget Source #

Constructors

RenderCommand (SuperModel Gasket (Model key itemWidget)) [Property] JSVal 
DisposeCommand SomeDisposable 
MakerCommand (F (Maker (Action key itemWidget)) (Action key itemWidget)) 
ItemCommand key (WidgetCommand itemWidget) 

data Action key itemWidget Source #

Constructors

ComponentRefAction JSVal 
RenderAction 
ComponentDidUpdateAction 
DestroyItemAction key 
MakeItemAction (key -> key) (key -> WidgetModel itemWidget) 
AddItemAction key (WidgetSuperModel itemWidget) 
ItemAction key (WidgetAction itemWidget) 
SetFilterAction (WidgetSuperModel itemWidget -> Bool) 

Instances

AsAction (Action key0 itemWidget0) key0 itemWidget0 Source # 

Methods

_Action :: Prism' (Action key0 itemWidget0) (Action key0 itemWidget0) Source #

_ComponentRefAction :: Prism' (Action key0 itemWidget0) JSVal Source #

_RenderAction :: Prism' (Action key0 itemWidget0) () Source #

_ComponentDidUpdateAction :: Prism' (Action key0 itemWidget0) () Source #

_DestroyItemAction :: Prism' (Action key0 itemWidget0) key0 Source #

_MakeItemAction :: Prism' (Action key0 itemWidget0) (key0 -> key0, key0 -> WidgetModel itemWidget0) Source #

_AddItemAction :: Prism' (Action key0 itemWidget0) (key0, WidgetSuperModel itemWidget0) Source #

_ItemAction :: Prism' (Action key0 itemWidget0) (key0, WidgetAction itemWidget0) Source #

_SetFilterAction :: Prism' (Action key0 itemWidget0) (WidgetSuperModel itemWidget0 -> Bool) Source #

class AsAction r key itemWidget | r -> key itemWidget where Source #

Methods

_Action :: Prism' r (Action key itemWidget) Source #

_ComponentRefAction :: Prism' r JSVal Source #

_RenderAction :: Prism' r () Source #

_ComponentDidUpdateAction :: Prism' r () Source #

_DestroyItemAction :: Prism' r key Source #

_MakeItemAction :: Prism' r (key -> key, key -> WidgetModel itemWidget) Source #

_AddItemAction :: Prism' r (key, WidgetSuperModel itemWidget) Source #

_ItemAction :: Prism' r (key, WidgetAction itemWidget) Source #

_SetFilterAction :: Prism' r (WidgetSuperModel itemWidget -> Bool) Source #

Instances

AsAction (Action key0 itemWidget0) key0 itemWidget0 Source # 

Methods

_Action :: Prism' (Action key0 itemWidget0) (Action key0 itemWidget0) Source #

_ComponentRefAction :: Prism' (Action key0 itemWidget0) JSVal Source #

_RenderAction :: Prism' (Action key0 itemWidget0) () Source #

_ComponentDidUpdateAction :: Prism' (Action key0 itemWidget0) () Source #

_DestroyItemAction :: Prism' (Action key0 itemWidget0) key0 Source #

_MakeItemAction :: Prism' (Action key0 itemWidget0) (key0 -> key0, key0 -> WidgetModel itemWidget0) Source #

_AddItemAction :: Prism' (Action key0 itemWidget0) (key0, WidgetSuperModel itemWidget0) Source #

_ItemAction :: Prism' (Action key0 itemWidget0) (key0, WidgetAction itemWidget0) Source #

_SetFilterAction :: Prism' (Action key0 itemWidget0) (WidgetSuperModel itemWidget0 -> Bool) Source #

data Gasket Source #

Constructors

Gasket 

Fields

Instances

Generic Gasket Source # 

Associated Types

type Rep Gasket :: * -> * #

Methods

from :: Gasket -> Rep Gasket x #

to :: Rep Gasket x -> Gasket #

Disposing Gasket Source # 
HasGasket Gasket Source # 
HasGasket (SuperModel Gasket (Model key itemWidget)) Source # 

Methods

gasket :: Lens' (SuperModel Gasket (Model key itemWidget)) Gasket Source #

component :: Lens' (SuperModel Gasket (Model key itemWidget)) ReactComponent Source #

onComponentDidUpdate :: Lens' (SuperModel Gasket (Model key itemWidget)) (Callback (JSVal -> IO ())) Source #

onComponentRef :: Lens' (SuperModel Gasket (Model key itemWidget)) (Callback (JSVal -> IO ())) Source #

onRender :: Lens' (SuperModel Gasket (Model key itemWidget)) (Callback (JSVal -> IO JSVal)) Source #

HasGasket (GModel Gasket (Model key itemWidget)) Source # 

Methods

gasket :: Lens' (GModel Gasket (Model key itemWidget)) Gasket Source #

component :: Lens' (GModel Gasket (Model key itemWidget)) ReactComponent Source #

onComponentDidUpdate :: Lens' (GModel Gasket (Model key itemWidget)) (Callback (JSVal -> IO ())) Source #

onComponentRef :: Lens' (GModel Gasket (Model key itemWidget)) (Callback (JSVal -> IO ())) Source #

onRender :: Lens' (GModel Gasket (Model key itemWidget)) (Callback (JSVal -> IO JSVal)) Source #

HasModel (SuperModel Gasket (Model key itemWidget)) key itemWidget Source # 

Methods

model :: Lens' (SuperModel Gasket (Model key itemWidget)) (Model key itemWidget) Source #

className :: Lens' (SuperModel Gasket (Model key itemWidget)) JSString Source #

componentRef :: Lens' (SuperModel Gasket (Model key itemWidget)) JSVal Source #

deferredCommands :: Lens' (SuperModel Gasket (Model key itemWidget)) (DList (Command key itemWidget)) Source #

frameNum :: Lens' (SuperModel Gasket (Model key itemWidget)) Int Source #

itemKey :: Lens' (SuperModel Gasket (Model key itemWidget)) key Source #

itemsFilter :: Lens' (SuperModel Gasket (Model key itemWidget)) (WidgetSuperModel itemWidget -> Bool) Source #

itemsModel :: Lens' (SuperModel Gasket (Model key itemWidget)) (Map key (WidgetSuperModel itemWidget)) Source #

uid :: Lens' (SuperModel Gasket (Model key itemWidget)) JSString Source #

HasModel (GModel Gasket (Model key itemWidget)) key itemWidget Source # 

Methods

model :: Lens' (GModel Gasket (Model key itemWidget)) (Model key itemWidget) Source #

className :: Lens' (GModel Gasket (Model key itemWidget)) JSString Source #

componentRef :: Lens' (GModel Gasket (Model key itemWidget)) JSVal Source #

deferredCommands :: Lens' (GModel Gasket (Model key itemWidget)) (DList (Command key itemWidget)) Source #

frameNum :: Lens' (GModel Gasket (Model key itemWidget)) Int Source #

itemKey :: Lens' (GModel Gasket (Model key itemWidget)) key Source #

itemsFilter :: Lens' (GModel Gasket (Model key itemWidget)) (WidgetSuperModel itemWidget -> Bool) Source #

itemsModel :: Lens' (GModel Gasket (Model key itemWidget)) (Map key (WidgetSuperModel itemWidget)) Source #

uid :: Lens' (GModel Gasket (Model key itemWidget)) JSString Source #

type Rep Gasket Source # 
type Rep Gasket = D1 (MetaData "Gasket" "Glazier.React.Widgets.List" "glazier-react-widget-0.1.0.0-L7ptADVVxlGft9VBkyPbJ" False) (C1 (MetaCons "Gasket" PrefixI True) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "_component") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 ReactComponent)) (S1 (MetaSel (Just Symbol "_onRender") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Callback (JSVal -> IO JSVal))))) ((:*:) (S1 (MetaSel (Just Symbol "_onComponentRef") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Callback (JSVal -> IO ())))) (S1 (MetaSel (Just Symbol "_onComponentDidUpdate") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Callback (JSVal -> IO ())))))))

class HasGasket c where Source #

Minimal complete definition

gasket

Instances

HasGasket Gasket Source # 
HasGasket (SuperModel Gasket (Model key itemWidget)) Source # 

Methods

gasket :: Lens' (SuperModel Gasket (Model key itemWidget)) Gasket Source #

component :: Lens' (SuperModel Gasket (Model key itemWidget)) ReactComponent Source #

onComponentDidUpdate :: Lens' (SuperModel Gasket (Model key itemWidget)) (Callback (JSVal -> IO ())) Source #

onComponentRef :: Lens' (SuperModel Gasket (Model key itemWidget)) (Callback (JSVal -> IO ())) Source #

onRender :: Lens' (SuperModel Gasket (Model key itemWidget)) (Callback (JSVal -> IO JSVal)) Source #

HasGasket (GModel Gasket (Model key itemWidget)) Source # 

Methods

gasket :: Lens' (GModel Gasket (Model key itemWidget)) Gasket Source #

component :: Lens' (GModel Gasket (Model key itemWidget)) ReactComponent Source #

onComponentDidUpdate :: Lens' (GModel Gasket (Model key itemWidget)) (Callback (JSVal -> IO ())) Source #

onComponentRef :: Lens' (GModel Gasket (Model key itemWidget)) (Callback (JSVal -> IO ())) Source #

onRender :: Lens' (GModel Gasket (Model key itemWidget)) (Callback (JSVal -> IO JSVal)) Source #

mkGasket :: WindowT (WidgetGModel itemWidget) (ReactMlT Identity) () -> ReactMlT Identity () -> MModel key itemWidget -> F (Maker (Action key itemWidget)) Gasket Source #

data Model key itemWidget Source #

Constructors

Model 

Fields

Instances

(Disposing (WidgetGasket itemWidget), Disposing (WidgetModel itemWidget)) => Disposing (Model key itemWidget) Source # 

Methods

disposing :: Model key itemWidget -> SomeDisposable #

HasGasket (SuperModel Gasket (Model key itemWidget)) Source # 

Methods

gasket :: Lens' (SuperModel Gasket (Model key itemWidget)) Gasket Source #

component :: Lens' (SuperModel Gasket (Model key itemWidget)) ReactComponent Source #

onComponentDidUpdate :: Lens' (SuperModel Gasket (Model key itemWidget)) (Callback (JSVal -> IO ())) Source #

onComponentRef :: Lens' (SuperModel Gasket (Model key itemWidget)) (Callback (JSVal -> IO ())) Source #

onRender :: Lens' (SuperModel Gasket (Model key itemWidget)) (Callback (JSVal -> IO JSVal)) Source #

HasGasket (GModel Gasket (Model key itemWidget)) Source # 

Methods

gasket :: Lens' (GModel Gasket (Model key itemWidget)) Gasket Source #

component :: Lens' (GModel Gasket (Model key itemWidget)) ReactComponent Source #

onComponentDidUpdate :: Lens' (GModel Gasket (Model key itemWidget)) (Callback (JSVal -> IO ())) Source #

onComponentRef :: Lens' (GModel Gasket (Model key itemWidget)) (Callback (JSVal -> IO ())) Source #

onRender :: Lens' (GModel Gasket (Model key itemWidget)) (Callback (JSVal -> IO JSVal)) Source #

HasModel (SuperModel Gasket (Model key itemWidget)) key itemWidget Source # 

Methods

model :: Lens' (SuperModel Gasket (Model key itemWidget)) (Model key itemWidget) Source #

className :: Lens' (SuperModel Gasket (Model key itemWidget)) JSString Source #

componentRef :: Lens' (SuperModel Gasket (Model key itemWidget)) JSVal Source #

deferredCommands :: Lens' (SuperModel Gasket (Model key itemWidget)) (DList (Command key itemWidget)) Source #

frameNum :: Lens' (SuperModel Gasket (Model key itemWidget)) Int Source #

itemKey :: Lens' (SuperModel Gasket (Model key itemWidget)) key Source #

itemsFilter :: Lens' (SuperModel Gasket (Model key itemWidget)) (WidgetSuperModel itemWidget -> Bool) Source #

itemsModel :: Lens' (SuperModel Gasket (Model key itemWidget)) (Map key (WidgetSuperModel itemWidget)) Source #

uid :: Lens' (SuperModel Gasket (Model key itemWidget)) JSString Source #

HasModel (GModel Gasket (Model key itemWidget)) key itemWidget Source # 

Methods

model :: Lens' (GModel Gasket (Model key itemWidget)) (Model key itemWidget) Source #

className :: Lens' (GModel Gasket (Model key itemWidget)) JSString Source #

componentRef :: Lens' (GModel Gasket (Model key itemWidget)) JSVal Source #

deferredCommands :: Lens' (GModel Gasket (Model key itemWidget)) (DList (Command key itemWidget)) Source #

frameNum :: Lens' (GModel Gasket (Model key itemWidget)) Int Source #

itemKey :: Lens' (GModel Gasket (Model key itemWidget)) key Source #

itemsFilter :: Lens' (GModel Gasket (Model key itemWidget)) (WidgetSuperModel itemWidget -> Bool) Source #

itemsModel :: Lens' (GModel Gasket (Model key itemWidget)) (Map key (WidgetSuperModel itemWidget)) Source #

uid :: Lens' (GModel Gasket (Model key itemWidget)) JSString Source #

HasModel (Model key0 itemWidget0) key0 itemWidget0 Source # 

Methods

model :: Lens' (Model key0 itemWidget0) (Model key0 itemWidget0) Source #

className :: Lens' (Model key0 itemWidget0) JSString Source #

componentRef :: Lens' (Model key0 itemWidget0) JSVal Source #

deferredCommands :: Lens' (Model key0 itemWidget0) (DList (Command key0 itemWidget0)) Source #

frameNum :: Lens' (Model key0 itemWidget0) Int Source #

itemKey :: Lens' (Model key0 itemWidget0) key0 Source #

itemsFilter :: Lens' (Model key0 itemWidget0) (WidgetSuperModel itemWidget0 -> Bool) Source #

itemsModel :: Lens' (Model key0 itemWidget0) (Map key0 (WidgetSuperModel itemWidget0)) Source #

uid :: Lens' (Model key0 itemWidget0) JSString Source #

class HasModel c key itemWidget | c -> key itemWidget where Source #

Minimal complete definition

model

Methods

model :: Lens' c (Model key itemWidget) Source #

className :: Lens' c JSString Source #

componentRef :: Lens' c JSVal Source #

deferredCommands :: Lens' c (DList (Command key itemWidget)) Source #

frameNum :: Lens' c Int Source #

itemKey :: Lens' c key Source #

itemsFilter :: Lens' c (WidgetSuperModel itemWidget -> Bool) Source #

itemsModel :: Lens' c (Map key (WidgetSuperModel itemWidget)) Source #

uid :: Lens' c JSString Source #

Instances

HasModel (SuperModel Gasket (Model key itemWidget)) key itemWidget Source # 

Methods

model :: Lens' (SuperModel Gasket (Model key itemWidget)) (Model key itemWidget) Source #

className :: Lens' (SuperModel Gasket (Model key itemWidget)) JSString Source #

componentRef :: Lens' (SuperModel Gasket (Model key itemWidget)) JSVal Source #

deferredCommands :: Lens' (SuperModel Gasket (Model key itemWidget)) (DList (Command key itemWidget)) Source #

frameNum :: Lens' (SuperModel Gasket (Model key itemWidget)) Int Source #

itemKey :: Lens' (SuperModel Gasket (Model key itemWidget)) key Source #

itemsFilter :: Lens' (SuperModel Gasket (Model key itemWidget)) (WidgetSuperModel itemWidget -> Bool) Source #

itemsModel :: Lens' (SuperModel Gasket (Model key itemWidget)) (Map key (WidgetSuperModel itemWidget)) Source #

uid :: Lens' (SuperModel Gasket (Model key itemWidget)) JSString Source #

HasModel (GModel Gasket (Model key itemWidget)) key itemWidget Source # 

Methods

model :: Lens' (GModel Gasket (Model key itemWidget)) (Model key itemWidget) Source #

className :: Lens' (GModel Gasket (Model key itemWidget)) JSString Source #

componentRef :: Lens' (GModel Gasket (Model key itemWidget)) JSVal Source #

deferredCommands :: Lens' (GModel Gasket (Model key itemWidget)) (DList (Command key itemWidget)) Source #

frameNum :: Lens' (GModel Gasket (Model key itemWidget)) Int Source #

itemKey :: Lens' (GModel Gasket (Model key itemWidget)) key Source #

itemsFilter :: Lens' (GModel Gasket (Model key itemWidget)) (WidgetSuperModel itemWidget -> Bool) Source #

itemsModel :: Lens' (GModel Gasket (Model key itemWidget)) (Map key (WidgetSuperModel itemWidget)) Source #

uid :: Lens' (GModel Gasket (Model key itemWidget)) JSString Source #

HasModel (Model key0 itemWidget0) key0 itemWidget0 Source # 

Methods

model :: Lens' (Model key0 itemWidget0) (Model key0 itemWidget0) Source #

className :: Lens' (Model key0 itemWidget0) JSString Source #

componentRef :: Lens' (Model key0 itemWidget0) JSVal Source #

deferredCommands :: Lens' (Model key0 itemWidget0) (DList (Command key0 itemWidget0)) Source #

frameNum :: Lens' (Model key0 itemWidget0) Int Source #

itemKey :: Lens' (Model key0 itemWidget0) key0 Source #

itemsFilter :: Lens' (Model key0 itemWidget0) (WidgetSuperModel itemWidget0 -> Bool) Source #

itemsModel :: Lens' (Model key0 itemWidget0) (Map key0 (WidgetSuperModel itemWidget0)) Source #

uid :: Lens' (Model key0 itemWidget0) JSString Source #

mkSuperModel :: WindowT (WidgetGModel itemWidget) (ReactMlT Identity) () -> ReactMlT Identity () -> Model key itemWidget -> F (Maker (Action key itemWidget)) (SuperModel key itemWidget) Source #

data Widget key itemWidget Source #

Instances

IsWidget (Widget key itemWidget) Source # 

Associated Types

type WidgetAction (Widget key itemWidget) :: *

type WidgetCommand (Widget key itemWidget) :: *

type WidgetModel (Widget key itemWidget) :: *

type WidgetGasket (Widget key itemWidget) :: *

type WidgetModel (Widget key itemWidget) Source # 
type WidgetModel (Widget key itemWidget) = Model key itemWidget
type WidgetGasket (Widget ackey itemWidget) Source # 
type WidgetGasket (Widget ackey itemWidget) = Gasket
type WidgetCommand (Widget key itemWidget) Source # 
type WidgetCommand (Widget key itemWidget) = Command key itemWidget
type WidgetAction (Widget key itemWidget) Source # 
type WidgetAction (Widget key itemWidget) = Action key itemWidget

type GModel key itemWidget = WidgetGModel (Widget key itemWidget) Source #

type MModel key itemWidget = WidgetMModel (Widget key itemWidget) Source #

type SuperModel key itemWidget = WidgetSuperModel (Widget key itemWidget) Source #

window :: Monad m => WindowT (GModel key itemWidget) (ReactMlT m) () Source #

This is used by parent components to render this component

gadget :: (Ord key, Monad m, Disposing (WidgetModel itemWidget), Disposing (WidgetGasket itemWidget)) => (WidgetModel itemWidget -> F (Maker (WidgetAction itemWidget)) (WidgetSuperModel itemWidget)) -> GadgetT (WidgetAction itemWidget) (WidgetSuperModel itemWidget) m (DList (WidgetCommand itemWidget)) -> GadgetT (Action key itemWidget) (SuperModel key itemWidget) m (DList (Command key itemWidget)) Source #