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

Safe HaskellNone
LanguageHaskell2010

Glazier.React.Widgets.Input

Synopsis

Documentation

data Command act Source #

Instances

Functor Command Source # 

Methods

fmap :: (a -> b) -> Command a -> Command b #

(<$) :: a -> Command b -> Command a #

data Plan Source #

Constructors

Plan 

Fields

Instances

Generic Plan Source # 

Associated Types

type Rep Plan :: * -> * #

Methods

from :: Plan -> Rep Plan x #

to :: Rep Plan x -> Plan #

Disposing Plan Source # 
HasPlan Plan Source # 
HasPlan (SuperModel Model Plan) Source # 

Methods

plan :: Lens' (SuperModel Model Plan) Plan Source #

component :: Lens' (SuperModel Model Plan) ReactComponent Source #

onInputRef :: Lens' (SuperModel Model Plan) (Callback (JSVal -> IO ())) Source #

onKeyDown :: Lens' (SuperModel Model Plan) (Callback (JSVal -> IO ())) Source #

onRender :: Lens' (SuperModel Model Plan) (Callback (JSVal -> IO JSVal)) Source #

HasPlan (Design Model Plan) Source # 

Methods

plan :: Lens' (Design Model Plan) Plan Source #

component :: Lens' (Design Model Plan) ReactComponent Source #

onInputRef :: Lens' (Design Model Plan) (Callback (JSVal -> IO ())) Source #

onKeyDown :: Lens' (Design Model Plan) (Callback (JSVal -> IO ())) Source #

onRender :: Lens' (Design Model Plan) (Callback (JSVal -> IO JSVal)) Source #

HasModel (SuperModel Model Plan) Source # 

Methods

model :: Lens' (SuperModel Model Plan) Model Source #

className :: Lens' (SuperModel Model Plan) JSString Source #

inputRef :: Lens' (SuperModel Model Plan) JSVal Source #

placeholder :: Lens' (SuperModel Model Plan) JSString Source #

uid :: Lens' (SuperModel Model Plan) JSString Source #

HasModel (Design Model Plan) Source # 
type Rep Plan Source # 
type Rep Plan = D1 (MetaData "Plan" "Glazier.React.Widgets.Input" "glazier-react-widget-0.2.0.0-IEzxiuHmQGK6lLY4xNBH3K" False) (C1 (MetaCons "Plan" 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 "_onInputRef") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Callback (JSVal -> IO ())))) (S1 (MetaSel (Just Symbol "_onKeyDown") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Callback (JSVal -> IO ())))))))

class HasPlan c where Source #

Minimal complete definition

plan

Instances

HasPlan Plan Source # 
HasPlan (SuperModel Model Plan) Source # 

Methods

plan :: Lens' (SuperModel Model Plan) Plan Source #

component :: Lens' (SuperModel Model Plan) ReactComponent Source #

onInputRef :: Lens' (SuperModel Model Plan) (Callback (JSVal -> IO ())) Source #

onKeyDown :: Lens' (SuperModel Model Plan) (Callback (JSVal -> IO ())) Source #

onRender :: Lens' (SuperModel Model Plan) (Callback (JSVal -> IO JSVal)) Source #

HasPlan (Design Model Plan) Source # 

Methods

plan :: Lens' (Design Model Plan) Plan Source #

component :: Lens' (Design Model Plan) ReactComponent Source #

onInputRef :: Lens' (Design Model Plan) (Callback (JSVal -> IO ())) Source #

onKeyDown :: Lens' (Design Model Plan) (Callback (JSVal -> IO ())) Source #

onRender :: Lens' (Design Model Plan) (Callback (JSVal -> IO JSVal)) Source #

mkPlan :: Replica Model Plan -> F (Maker (Action act)) Plan Source #

data Model Source #

Instances

Disposing Model Source # 
HasModel Model Source # 
HasPlan (SuperModel Model Plan) Source # 

Methods

plan :: Lens' (SuperModel Model Plan) Plan Source #

component :: Lens' (SuperModel Model Plan) ReactComponent Source #

onInputRef :: Lens' (SuperModel Model Plan) (Callback (JSVal -> IO ())) Source #

onKeyDown :: Lens' (SuperModel Model Plan) (Callback (JSVal -> IO ())) Source #

onRender :: Lens' (SuperModel Model Plan) (Callback (JSVal -> IO JSVal)) Source #

HasPlan (Design Model Plan) Source # 

Methods

plan :: Lens' (Design Model Plan) Plan Source #

component :: Lens' (Design Model Plan) ReactComponent Source #

onInputRef :: Lens' (Design Model Plan) (Callback (JSVal -> IO ())) Source #

onKeyDown :: Lens' (Design Model Plan) (Callback (JSVal -> IO ())) Source #

onRender :: Lens' (Design Model Plan) (Callback (JSVal -> IO JSVal)) Source #

HasModel (SuperModel Model Plan) Source # 

Methods

model :: Lens' (SuperModel Model Plan) Model Source #

className :: Lens' (SuperModel Model Plan) JSString Source #

inputRef :: Lens' (SuperModel Model Plan) JSVal Source #

placeholder :: Lens' (SuperModel Model Plan) JSString Source #

uid :: Lens' (SuperModel Model Plan) JSString Source #

HasModel (Design Model Plan) Source # 

mkSuperModel :: Model -> F (Maker (Action act)) (SuperModel act) Source #

data Widget act Source #

Instances

IsWidget (Widget act) Source # 

Associated Types

type WidgetAction (Widget act) :: *

type WidgetCommand (Widget act) :: *

type WidgetModel (Widget act) :: *

type WidgetPlan (Widget act) :: *

type WidgetPlan (Widget act) Source # 
type WidgetPlan (Widget act) = Plan
type WidgetModel (Widget act) Source # 
type WidgetModel (Widget act) = Model
type WidgetCommand (Widget act) Source # 
type WidgetCommand (Widget act) = Command act
type WidgetAction (Widget act) Source # 
type WidgetAction (Widget act) = Action act

type Design act = WidgetDesign (Widget act) Source #

type Replica act = WidgetReplica (Widget act) Source #

type SuperModel act = WidgetSuperModel (Widget act) Source #

window :: Monad m => WindowT (Design act) (ReactMlT m) () Source #

This is used by parent components to render this component

gadget :: Monad m => GadgetT (Action act) (SuperModel act) m (DList (Command act)) Source #

State update logic. The best practice is to leave this in general Monad m (eg, not MonadIO). This allows gadget to use STM as the base monad which allows for combining concurrently with other stateful STM effects and still maintain a single source of truth.