glazier-react-widget 0.1.0.0 → 0.2.0.0
raw patch · 3 files changed
+60/−60 lines, 3 filesdep ~glazier-reactPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: glazier-react
API changes (from Hackage documentation)
- Glazier.React.Widgets.Input: Gasket :: ReactComponent -> Callback (JSVal -> IO JSVal) -> Callback (JSVal -> IO ()) -> Callback (JSVal -> IO ()) -> Gasket
- Glazier.React.Widgets.Input: class HasGasket c_aqas where component = (.) gasket component onInputRef = (.) gasket onInputRef onKeyDown = (.) gasket onKeyDown onRender = (.) gasket onRender
- Glazier.React.Widgets.Input: data Gasket
- Glazier.React.Widgets.Input: gasket :: HasGasket c_aqas => Lens' c_aqas Gasket
- Glazier.React.Widgets.Input: instance Control.Disposable.Disposing Glazier.React.Widgets.Input.Gasket
- Glazier.React.Widgets.Input: instance GHC.Generics.Generic Glazier.React.Widgets.Input.Gasket
- Glazier.React.Widgets.Input: instance Glazier.React.Widgets.Input.HasGasket (Glazier.React.Widget.GModel Glazier.React.Widgets.Input.Gasket Glazier.React.Widgets.Input.Model)
- Glazier.React.Widgets.Input: instance Glazier.React.Widgets.Input.HasGasket (Glazier.React.Widget.SuperModel Glazier.React.Widgets.Input.Gasket Glazier.React.Widgets.Input.Model)
- Glazier.React.Widgets.Input: instance Glazier.React.Widgets.Input.HasGasket Glazier.React.Widgets.Input.Gasket
- Glazier.React.Widgets.Input: instance Glazier.React.Widgets.Input.HasModel (Glazier.React.Widget.GModel Glazier.React.Widgets.Input.Gasket Glazier.React.Widgets.Input.Model)
- Glazier.React.Widgets.Input: instance Glazier.React.Widgets.Input.HasModel (Glazier.React.Widget.SuperModel Glazier.React.Widgets.Input.Gasket Glazier.React.Widgets.Input.Model)
- Glazier.React.Widgets.Input: mkGasket :: MModel Gasket Model -> F (Maker (Action act)) Gasket
- Glazier.React.Widgets.Input: type GModel act = WidgetGModel (Widget act)
- Glazier.React.Widgets.Input: type MModel act = WidgetMModel (Widget act)
- Glazier.React.Widgets.List: Gasket :: ReactComponent -> Callback (JSVal -> IO JSVal) -> Callback (JSVal -> IO ()) -> Callback (JSVal -> IO ()) -> Gasket
- Glazier.React.Widgets.List: class HasGasket c_acLf where component = (.) gasket component onComponentDidUpdate = (.) gasket onComponentDidUpdate onComponentRef = (.) gasket onComponentRef onRender = (.) gasket onRender
- Glazier.React.Widgets.List: data Gasket
- Glazier.React.Widgets.List: gasket :: HasGasket c_acLf => Lens' c_acLf Gasket
- Glazier.React.Widgets.List: instance (Control.Disposable.Disposing (Glazier.React.Widget.WidgetGasket itemWidget), Control.Disposable.Disposing (Glazier.React.Widget.WidgetModel itemWidget)) => Control.Disposable.Disposing (Glazier.React.Widgets.List.Model key itemWidget)
- Glazier.React.Widgets.List: instance Control.Disposable.Disposing Glazier.React.Widgets.List.Gasket
- Glazier.React.Widgets.List: instance GHC.Generics.Generic Glazier.React.Widgets.List.Gasket
- Glazier.React.Widgets.List: instance Glazier.React.Widgets.List.HasGasket (Glazier.React.Widget.GModel Glazier.React.Widgets.List.Gasket (Glazier.React.Widgets.List.Model key itemWidget))
- Glazier.React.Widgets.List: instance Glazier.React.Widgets.List.HasGasket (Glazier.React.Widget.SuperModel Glazier.React.Widgets.List.Gasket (Glazier.React.Widgets.List.Model key itemWidget))
- Glazier.React.Widgets.List: instance Glazier.React.Widgets.List.HasGasket Glazier.React.Widgets.List.Gasket
- Glazier.React.Widgets.List: instance Glazier.React.Widgets.List.HasModel (Glazier.React.Widget.GModel Glazier.React.Widgets.List.Gasket (Glazier.React.Widgets.List.Model key itemWidget)) key itemWidget
- Glazier.React.Widgets.List: instance Glazier.React.Widgets.List.HasModel (Glazier.React.Widget.SuperModel Glazier.React.Widgets.List.Gasket (Glazier.React.Widgets.List.Model key itemWidget)) key itemWidget
- Glazier.React.Widgets.List: mkGasket :: WindowT (WidgetGModel itemWidget) (ReactMlT Identity) () -> ReactMlT Identity () -> MModel key itemWidget -> F (Maker (Action key itemWidget)) Gasket
- Glazier.React.Widgets.List: type GModel key itemWidget = WidgetGModel (Widget key itemWidget)
- Glazier.React.Widgets.List: type MModel key itemWidget = WidgetMModel (Widget key itemWidget)
+ Glazier.React.Widgets.Input: Plan :: ReactComponent -> Callback (JSVal -> IO JSVal) -> Callback (JSVal -> IO ()) -> Callback (JSVal -> IO ()) -> Plan
+ Glazier.React.Widgets.Input: class HasPlan c_aqaO where component = (.) plan component onInputRef = (.) plan onInputRef onKeyDown = (.) plan onKeyDown onRender = (.) plan onRender
+ Glazier.React.Widgets.Input: data Plan
+ Glazier.React.Widgets.Input: instance Control.Disposable.Disposing Glazier.React.Widgets.Input.Plan
+ Glazier.React.Widgets.Input: instance GHC.Generics.Generic Glazier.React.Widgets.Input.Plan
+ Glazier.React.Widgets.Input: instance Glazier.React.Widgets.Input.HasModel (Glazier.React.Widget.Design Glazier.React.Widgets.Input.Model Glazier.React.Widgets.Input.Plan)
+ Glazier.React.Widgets.Input: instance Glazier.React.Widgets.Input.HasModel (Glazier.React.Widget.SuperModel Glazier.React.Widgets.Input.Model Glazier.React.Widgets.Input.Plan)
+ Glazier.React.Widgets.Input: instance Glazier.React.Widgets.Input.HasPlan (Glazier.React.Widget.Design Glazier.React.Widgets.Input.Model Glazier.React.Widgets.Input.Plan)
+ Glazier.React.Widgets.Input: instance Glazier.React.Widgets.Input.HasPlan (Glazier.React.Widget.SuperModel Glazier.React.Widgets.Input.Model Glazier.React.Widgets.Input.Plan)
+ Glazier.React.Widgets.Input: instance Glazier.React.Widgets.Input.HasPlan Glazier.React.Widgets.Input.Plan
+ Glazier.React.Widgets.Input: mkPlan :: Replica Model Plan -> F (Maker (Action act)) Plan
+ Glazier.React.Widgets.Input: plan :: HasPlan c_aqaO => Lens' c_aqaO Plan
+ Glazier.React.Widgets.Input: type Design act = WidgetDesign (Widget act)
+ Glazier.React.Widgets.Input: type Replica act = WidgetReplica (Widget act)
+ Glazier.React.Widgets.List: Plan :: ReactComponent -> Callback (JSVal -> IO JSVal) -> Callback (JSVal -> IO ()) -> Callback (JSVal -> IO ()) -> Plan
+ Glazier.React.Widgets.List: class HasPlan c_acLo where component = (.) plan component onComponentDidUpdate = (.) plan onComponentDidUpdate onComponentRef = (.) plan onComponentRef onRender = (.) plan onRender
+ Glazier.React.Widgets.List: data Plan
+ Glazier.React.Widgets.List: instance (Control.Disposable.Disposing (Glazier.React.Widget.WidgetPlan itemWidget), Control.Disposable.Disposing (Glazier.React.Widget.WidgetModel itemWidget)) => Control.Disposable.Disposing (Glazier.React.Widgets.List.Model key itemWidget)
+ Glazier.React.Widgets.List: instance Control.Disposable.Disposing Glazier.React.Widgets.List.Plan
+ Glazier.React.Widgets.List: instance GHC.Generics.Generic Glazier.React.Widgets.List.Plan
+ Glazier.React.Widgets.List: instance Glazier.React.Widgets.List.HasModel (Glazier.React.Widget.Design (Glazier.React.Widgets.List.Model key itemWidget) Glazier.React.Widgets.List.Plan) key itemWidget
+ Glazier.React.Widgets.List: instance Glazier.React.Widgets.List.HasModel (Glazier.React.Widget.SuperModel (Glazier.React.Widgets.List.Model key itemWidget) Glazier.React.Widgets.List.Plan) key itemWidget
+ Glazier.React.Widgets.List: instance Glazier.React.Widgets.List.HasPlan (Glazier.React.Widget.Design (Glazier.React.Widgets.List.Model key itemWidget) Glazier.React.Widgets.List.Plan)
+ Glazier.React.Widgets.List: instance Glazier.React.Widgets.List.HasPlan (Glazier.React.Widget.SuperModel (Glazier.React.Widgets.List.Model key itemWidget) Glazier.React.Widgets.List.Plan)
+ Glazier.React.Widgets.List: instance Glazier.React.Widgets.List.HasPlan Glazier.React.Widgets.List.Plan
+ Glazier.React.Widgets.List: mkPlan :: WindowT (WidgetDesign itemWidget) (ReactMlT Identity) () -> ReactMlT Identity () -> Replica key itemWidget -> F (Maker (Action key itemWidget)) Plan
+ Glazier.React.Widgets.List: plan :: HasPlan c_acLo => Lens' c_acLo Plan
+ Glazier.React.Widgets.List: type Design key itemWidget = WidgetDesign (Widget key itemWidget)
+ Glazier.React.Widgets.List: type Replica key itemWidget = WidgetReplica (Widget key itemWidget)
- Glazier.React.Widgets.Input: [_component] :: Gasket -> ReactComponent
+ Glazier.React.Widgets.Input: [_component] :: Plan -> ReactComponent
- Glazier.React.Widgets.Input: [_onInputRef] :: Gasket -> Callback (JSVal -> IO ())
+ Glazier.React.Widgets.Input: [_onInputRef] :: Plan -> Callback (JSVal -> IO ())
- Glazier.React.Widgets.Input: [_onKeyDown] :: Gasket -> Callback (JSVal -> IO ())
+ Glazier.React.Widgets.Input: [_onKeyDown] :: Plan -> Callback (JSVal -> IO ())
- Glazier.React.Widgets.Input: [_onRender] :: Gasket -> Callback (JSVal -> IO JSVal)
+ Glazier.React.Widgets.Input: [_onRender] :: Plan -> Callback (JSVal -> IO JSVal)
- Glazier.React.Widgets.Input: _Action :: AsAction r_aq4u act_apX1 => Prism' r_aq4u (Action act_apX1)
+ Glazier.React.Widgets.Input: _Action :: AsAction r_aq4Q act_apXn => Prism' r_aq4Q (Action act_apXn)
- Glazier.React.Widgets.Input: _GetPropertyAction :: AsAction r_aq4u act_apX1 => Prism' r_aq4u (JSString, JSVal -> act_apX1)
+ Glazier.React.Widgets.Input: _GetPropertyAction :: AsAction r_aq4Q act_apXn => Prism' r_aq4Q (JSString, JSVal -> act_apXn)
- Glazier.React.Widgets.Input: _InputRefAction :: AsAction r_aq4u act_apX1 => Prism' r_aq4u JSVal
+ Glazier.React.Widgets.Input: _InputRefAction :: AsAction r_aq4Q act_apXn => Prism' r_aq4Q JSVal
- Glazier.React.Widgets.Input: _SendCommandsAction :: AsAction r_aq4u act_apX1 => Prism' r_aq4u [Command act_apX1]
+ Glazier.React.Widgets.Input: _SendCommandsAction :: AsAction r_aq4Q act_apXn => Prism' r_aq4Q [Command act_apXn]
- Glazier.React.Widgets.Input: _SubmitAction :: AsAction r_aq4u act_apX1 => Prism' r_aq4u JSString
+ Glazier.React.Widgets.Input: _SubmitAction :: AsAction r_aq4Q act_apXn => Prism' r_aq4Q JSString
- Glazier.React.Widgets.Input: class AsAction r_aq4u act_apX1 | r_aq4u -> act_apX1 where _SendCommandsAction = (.) _Action _SendCommandsAction _SubmitAction = (.) _Action _SubmitAction _InputRefAction = (.) _Action _InputRefAction _GetPropertyAction = (.) _Action _GetPropertyAction
+ Glazier.React.Widgets.Input: class AsAction r_aq4Q act_apXn | r_aq4Q -> act_apXn where _SendCommandsAction = (.) _Action _SendCommandsAction _SubmitAction = (.) _Action _SubmitAction _InputRefAction = (.) _Action _InputRefAction _GetPropertyAction = (.) _Action _GetPropertyAction
- Glazier.React.Widgets.Input: class HasModel c_aqeu where className = (.) model className inputRef = (.) model inputRef placeholder = (.) model placeholder uid = (.) model uid
+ Glazier.React.Widgets.Input: class HasModel c_aqeQ where className = (.) model className inputRef = (.) model inputRef placeholder = (.) model placeholder uid = (.) model uid
- Glazier.React.Widgets.Input: className :: HasModel c_aqeu => Lens' c_aqeu JSString
+ Glazier.React.Widgets.Input: className :: HasModel c_aqeQ => Lens' c_aqeQ JSString
- Glazier.React.Widgets.Input: component :: HasGasket c_aqas => Lens' c_aqas ReactComponent
+ Glazier.React.Widgets.Input: component :: HasPlan c_aqaO => Lens' c_aqaO ReactComponent
- Glazier.React.Widgets.Input: inputRef :: HasModel c_aqeu => Lens' c_aqeu JSVal
+ Glazier.React.Widgets.Input: inputRef :: HasModel c_aqeQ => Lens' c_aqeQ JSVal
- Glazier.React.Widgets.Input: model :: HasModel c_aqeu => Lens' c_aqeu Model
+ Glazier.React.Widgets.Input: model :: HasModel c_aqeQ => Lens' c_aqeQ Model
- Glazier.React.Widgets.Input: onInputRef :: HasGasket c_aqas => Lens' c_aqas (Callback (JSVal -> IO ()))
+ Glazier.React.Widgets.Input: onInputRef :: HasPlan c_aqaO => Lens' c_aqaO (Callback (JSVal -> IO ()))
- Glazier.React.Widgets.Input: onKeyDown :: HasGasket c_aqas => Lens' c_aqas (Callback (JSVal -> IO ()))
+ Glazier.React.Widgets.Input: onKeyDown :: HasPlan c_aqaO => Lens' c_aqaO (Callback (JSVal -> IO ()))
- Glazier.React.Widgets.Input: onRender :: HasGasket c_aqas => Lens' c_aqas (Callback (JSVal -> IO JSVal))
+ Glazier.React.Widgets.Input: onRender :: HasPlan c_aqaO => Lens' c_aqaO (Callback (JSVal -> IO JSVal))
- Glazier.React.Widgets.Input: placeholder :: HasModel c_aqeu => Lens' c_aqeu JSString
+ Glazier.React.Widgets.Input: placeholder :: HasModel c_aqeQ => Lens' c_aqeQ JSString
- Glazier.React.Widgets.Input: uid :: HasModel c_aqeu => Lens' c_aqeu JSString
+ Glazier.React.Widgets.Input: uid :: HasModel c_aqeQ => Lens' c_aqeQ JSString
- Glazier.React.Widgets.Input: window :: Monad m => WindowT (GModel act) (ReactMlT m) ()
+ Glazier.React.Widgets.Input: window :: Monad m => WindowT (Design act) (ReactMlT m) ()
- Glazier.React.Widgets.List: MakeItemAction :: (key -> key) -> (key -> WidgetModel itemWidget) -> Action key itemWidget
+ Glazier.React.Widgets.List: MakeItemAction :: (key -> key) -> (key -> F (Maker (WidgetAction itemWidget)) (WidgetModel itemWidget)) -> Action key itemWidget
- Glazier.React.Widgets.List: RenderCommand :: (SuperModel Gasket (Model key itemWidget)) -> [Property] -> JSVal -> Command key itemWidget
+ Glazier.React.Widgets.List: RenderCommand :: (SuperModel (Model key itemWidget) Plan) -> [Property] -> JSVal -> Command key itemWidget
- Glazier.React.Widgets.List: [_component] :: Gasket -> ReactComponent
+ Glazier.React.Widgets.List: [_component] :: Plan -> ReactComponent
- Glazier.React.Widgets.List: [_onComponentDidUpdate] :: Gasket -> Callback (JSVal -> IO ())
+ Glazier.React.Widgets.List: [_onComponentDidUpdate] :: Plan -> Callback (JSVal -> IO ())
- Glazier.React.Widgets.List: [_onComponentRef] :: Gasket -> Callback (JSVal -> IO ())
+ Glazier.React.Widgets.List: [_onComponentRef] :: Plan -> Callback (JSVal -> IO ())
- Glazier.React.Widgets.List: [_onRender] :: Gasket -> Callback (JSVal -> IO JSVal)
+ Glazier.React.Widgets.List: [_onRender] :: Plan -> Callback (JSVal -> IO JSVal)
- Glazier.React.Widgets.List: _Action :: AsAction r_acqp key_a9Du itemWidget_a9Dv => Prism' r_acqp (Action key_a9Du itemWidget_a9Dv)
+ Glazier.React.Widgets.List: _Action :: AsAction r_acqq key_a9Du itemWidget_a9Dv => Prism' r_acqq (Action key_a9Du itemWidget_a9Dv)
- Glazier.React.Widgets.List: _AddItemAction :: AsAction r_acqp key_a9Du itemWidget_a9Dv => Prism' r_acqp (key_a9Du, WidgetSuperModel itemWidget_a9Dv)
+ Glazier.React.Widgets.List: _AddItemAction :: AsAction r_acqq key_a9Du itemWidget_a9Dv => Prism' r_acqq (key_a9Du, WidgetSuperModel itemWidget_a9Dv)
- Glazier.React.Widgets.List: _ComponentDidUpdateAction :: AsAction r_acqp key_a9Du itemWidget_a9Dv => Prism' r_acqp ()
+ Glazier.React.Widgets.List: _ComponentDidUpdateAction :: AsAction r_acqq key_a9Du itemWidget_a9Dv => Prism' r_acqq ()
- Glazier.React.Widgets.List: _ComponentRefAction :: AsAction r_acqp key_a9Du itemWidget_a9Dv => Prism' r_acqp JSVal
+ Glazier.React.Widgets.List: _ComponentRefAction :: AsAction r_acqq key_a9Du itemWidget_a9Dv => Prism' r_acqq JSVal
- Glazier.React.Widgets.List: _DestroyItemAction :: AsAction r_acqp key_a9Du itemWidget_a9Dv => Prism' r_acqp key_a9Du
+ Glazier.React.Widgets.List: _DestroyItemAction :: AsAction r_acqq key_a9Du itemWidget_a9Dv => Prism' r_acqq key_a9Du
- Glazier.React.Widgets.List: _ItemAction :: AsAction r_acqp key_a9Du itemWidget_a9Dv => Prism' r_acqp (key_a9Du, WidgetAction itemWidget_a9Dv)
+ Glazier.React.Widgets.List: _ItemAction :: AsAction r_acqq key_a9Du itemWidget_a9Dv => Prism' r_acqq (key_a9Du, WidgetAction itemWidget_a9Dv)
- Glazier.React.Widgets.List: _MakeItemAction :: AsAction r_acqp key_a9Du itemWidget_a9Dv => Prism' r_acqp (key_a9Du -> key_a9Du, key_a9Du -> WidgetModel itemWidget_a9Dv)
+ Glazier.React.Widgets.List: _MakeItemAction :: AsAction r_acqq key_a9Du itemWidget_a9Dv => Prism' r_acqq (key_a9Du -> key_a9Du, key_a9Du -> F (Maker (WidgetAction itemWidget_a9Dv)) (WidgetModel itemWidget_a9Dv))
- Glazier.React.Widgets.List: _RenderAction :: AsAction r_acqp key_a9Du itemWidget_a9Dv => Prism' r_acqp ()
+ Glazier.React.Widgets.List: _RenderAction :: AsAction r_acqq key_a9Du itemWidget_a9Dv => Prism' r_acqq ()
- Glazier.React.Widgets.List: _SetFilterAction :: AsAction r_acqp key_a9Du itemWidget_a9Dv => Prism' r_acqp (WidgetSuperModel itemWidget_a9Dv -> Bool)
+ Glazier.React.Widgets.List: _SetFilterAction :: AsAction r_acqq key_a9Du itemWidget_a9Dv => Prism' r_acqq (WidgetSuperModel itemWidget_a9Dv -> Bool)
- Glazier.React.Widgets.List: class AsAction r_acqp key_a9Du itemWidget_a9Dv | r_acqp -> key_a9Du itemWidget_a9Dv where _ComponentRefAction = (.) _Action _ComponentRefAction _RenderAction = (.) _Action _RenderAction _ComponentDidUpdateAction = (.) _Action _ComponentDidUpdateAction _DestroyItemAction = (.) _Action _DestroyItemAction _MakeItemAction = (.) _Action _MakeItemAction _AddItemAction = (.) _Action _AddItemAction _ItemAction = (.) _Action _ItemAction _SetFilterAction = (.) _Action _SetFilterAction
+ Glazier.React.Widgets.List: class AsAction r_acqq key_a9Du itemWidget_a9Dv | r_acqq -> key_a9Du itemWidget_a9Dv where _ComponentRefAction = (.) _Action _ComponentRefAction _RenderAction = (.) _Action _RenderAction _ComponentDidUpdateAction = (.) _Action _ComponentDidUpdateAction _DestroyItemAction = (.) _Action _DestroyItemAction _MakeItemAction = (.) _Action _MakeItemAction _AddItemAction = (.) _Action _AddItemAction _ItemAction = (.) _Action _ItemAction _SetFilterAction = (.) _Action _SetFilterAction
- Glazier.React.Widgets.List: class HasModel c_acPu key_a9vn itemWidget_a9vo | c_acPu -> key_a9vn itemWidget_a9vo where className = (.) model className componentRef = (.) model componentRef deferredCommands = (.) model deferredCommands frameNum = (.) model frameNum itemKey = (.) model itemKey itemsFilter = (.) model itemsFilter itemsModel = (.) model itemsModel uid = (.) model uid
+ Glazier.React.Widgets.List: class HasModel c_acPD key_a9vn itemWidget_a9vo | c_acPD -> key_a9vn itemWidget_a9vo where className = (.) model className componentRef = (.) model componentRef deferredCommands = (.) model deferredCommands frameNum = (.) model frameNum itemKey = (.) model itemKey itemsFilter = (.) model itemsFilter itemsModel = (.) model itemsModel uid = (.) model uid
- Glazier.React.Widgets.List: className :: HasModel c_acPu key_a9vn itemWidget_a9vo => Lens' c_acPu JSString
+ Glazier.React.Widgets.List: className :: HasModel c_acPD key_a9vn itemWidget_a9vo => Lens' c_acPD JSString
- Glazier.React.Widgets.List: component :: HasGasket c_acLf => Lens' c_acLf ReactComponent
+ Glazier.React.Widgets.List: component :: HasPlan c_acLo => Lens' c_acLo ReactComponent
- Glazier.React.Widgets.List: componentRef :: HasModel c_acPu key_a9vn itemWidget_a9vo => Lens' c_acPu JSVal
+ Glazier.React.Widgets.List: componentRef :: HasModel c_acPD key_a9vn itemWidget_a9vo => Lens' c_acPD JSVal
- Glazier.React.Widgets.List: deferredCommands :: HasModel c_acPu key_a9vn itemWidget_a9vo => Lens' c_acPu (DList (Command key_a9vn itemWidget_a9vo))
+ Glazier.React.Widgets.List: deferredCommands :: HasModel c_acPD key_a9vn itemWidget_a9vo => Lens' c_acPD (DList (Command key_a9vn itemWidget_a9vo))
- Glazier.React.Widgets.List: frameNum :: HasModel c_acPu key_a9vn itemWidget_a9vo => Lens' c_acPu Int
+ Glazier.React.Widgets.List: frameNum :: HasModel c_acPD key_a9vn itemWidget_a9vo => Lens' c_acPD Int
- Glazier.React.Widgets.List: 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))
+ Glazier.React.Widgets.List: gadget :: (Ord key, Monad m, Disposing (WidgetModel itemWidget), Disposing (WidgetPlan 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))
- Glazier.React.Widgets.List: itemKey :: HasModel c_acPu key_a9vn itemWidget_a9vo => Lens' c_acPu key_a9vn
+ Glazier.React.Widgets.List: itemKey :: HasModel c_acPD key_a9vn itemWidget_a9vo => Lens' c_acPD key_a9vn
- Glazier.React.Widgets.List: itemsFilter :: HasModel c_acPu key_a9vn itemWidget_a9vo => Lens' c_acPu (WidgetSuperModel itemWidget_a9vo -> Bool)
+ Glazier.React.Widgets.List: itemsFilter :: HasModel c_acPD key_a9vn itemWidget_a9vo => Lens' c_acPD (WidgetSuperModel itemWidget_a9vo -> Bool)
- Glazier.React.Widgets.List: itemsModel :: HasModel c_acPu key_a9vn itemWidget_a9vo => Lens' c_acPu (Map key_a9vn (WidgetSuperModel itemWidget_a9vo))
+ Glazier.React.Widgets.List: itemsModel :: HasModel c_acPD key_a9vn itemWidget_a9vo => Lens' c_acPD (Map key_a9vn (WidgetSuperModel itemWidget_a9vo))
- Glazier.React.Widgets.List: mkSuperModel :: WindowT (WidgetGModel itemWidget) (ReactMlT Identity) () -> ReactMlT Identity () -> Model key itemWidget -> F (Maker (Action key itemWidget)) (SuperModel key itemWidget)
+ Glazier.React.Widgets.List: mkSuperModel :: WindowT (WidgetDesign itemWidget) (ReactMlT Identity) () -> ReactMlT Identity () -> Model key itemWidget -> F (Maker (Action key itemWidget)) (SuperModel key itemWidget)
- Glazier.React.Widgets.List: model :: HasModel c_acPu key_a9vn itemWidget_a9vo => Lens' c_acPu (Model key_a9vn itemWidget_a9vo)
+ Glazier.React.Widgets.List: model :: HasModel c_acPD key_a9vn itemWidget_a9vo => Lens' c_acPD (Model key_a9vn itemWidget_a9vo)
- Glazier.React.Widgets.List: onComponentDidUpdate :: HasGasket c_acLf => Lens' c_acLf (Callback (JSVal -> IO ()))
+ Glazier.React.Widgets.List: onComponentDidUpdate :: HasPlan c_acLo => Lens' c_acLo (Callback (JSVal -> IO ()))
- Glazier.React.Widgets.List: onComponentRef :: HasGasket c_acLf => Lens' c_acLf (Callback (JSVal -> IO ()))
+ Glazier.React.Widgets.List: onComponentRef :: HasPlan c_acLo => Lens' c_acLo (Callback (JSVal -> IO ()))
- Glazier.React.Widgets.List: onRender :: HasGasket c_acLf => Lens' c_acLf (Callback (JSVal -> IO JSVal))
+ Glazier.React.Widgets.List: onRender :: HasPlan c_acLo => Lens' c_acLo (Callback (JSVal -> IO JSVal))
- Glazier.React.Widgets.List: uid :: HasModel c_acPu key_a9vn itemWidget_a9vo => Lens' c_acPu JSString
+ Glazier.React.Widgets.List: uid :: HasModel c_acPD key_a9vn itemWidget_a9vo => Lens' c_acPD JSString
- Glazier.React.Widgets.List: window :: Monad m => WindowT (GModel key itemWidget) (ReactMlT m) ()
+ Glazier.React.Widgets.List: window :: Monad m => WindowT (Design key itemWidget) (ReactMlT m) ()
Files
- glazier-react-widget.cabal +2/−2
- src/Glazier/React/Widgets/Input.hs +23/−23
- src/Glazier/React/Widgets/List.hs +35/−35
glazier-react-widget.cabal view
@@ -1,5 +1,5 @@ name: glazier-react-widget-version: 0.1.0.0+version: 0.2.0.0 synopsis: Generic widget library using glazier-react description: Generic widget library using glazier-react homepage: https://github.com/louispan/glazier-react-widget#readme@@ -25,7 +25,7 @@ , dlist >= 0.8 && < 0.9 , free >= 4.12 && < 5 , glazier >= 0.10 && < 1- , glazier-react >= 0.1 && < 1+ , glazier-react >= 0.2 && < 1 , javascript-extras >= 0.2 && < 1 , lens >= 4 && < 5 , mmorph >= 1 && < 2
src/Glazier/React/Widgets/Input.hs view
@@ -12,15 +12,15 @@ ( Command(..) , Action(..) , AsAction(..)- , Gasket(..)- , HasGasket(..)- , mkGasket+ , Plan(..)+ , HasPlan(..)+ , mkPlan , Model(..) , HasModel(..) , mkSuperModel , Widget- , GModel- , MModel+ , Design+ , Replica , SuperModel , window , gadget@@ -65,7 +65,7 @@ , _className :: J.JSString } -data Gasket = Gasket+data Plan = Plan { _component :: R.ReactComponent , _onRender :: J.Callback (J.JSVal -> IO J.JSVal) , _onInputRef :: J.Callback (J.JSVal -> IO ())@@ -73,11 +73,11 @@ } deriving (G.Generic) makeClassyPrisms ''Action-makeClassy ''Gasket+makeClassy ''Plan makeClassy ''Model -mkGasket :: R.MModel Gasket Model -> F (R.Maker (Action act)) Gasket-mkGasket mm = Gasket+mkPlan :: R.Replica Model Plan -> F (R.Maker (Action act)) Plan+mkPlan mm = Plan <$> R.getComponent <*> (R.mkRenderer mm $ const render) <*> (R.mkHandler $ pure . pure . InputRefAction)@@ -87,29 +87,29 @@ disposing _ = CD.DisposeNone mkSuperModel :: Model -> F (R.Maker (Action act)) (SuperModel act)-mkSuperModel s = R.mkSuperModel mkGasket $ \gkt -> R.GModel gkt s+mkSuperModel mdl = R.mkSuperModel mkPlan (R.Design mdl) data Widget act instance R.IsWidget (Widget act) where type WidgetAction (Widget act) = Action act type WidgetCommand (Widget act) = Command act type WidgetModel (Widget act) = Model- type WidgetGasket (Widget act) = Gasket-type GModel act = R.WidgetGModel (Widget act)-type MModel act = R.WidgetMModel (Widget act)+ type WidgetPlan (Widget act) = Plan+type Design act = R.WidgetDesign (Widget act)+type Replica act = R.WidgetReplica (Widget act) type SuperModel act = R.WidgetSuperModel (Widget act)-instance CD.Disposing Gasket-instance HasGasket (R.GModel Gasket Model) where- gasket = R.widgetGasket-instance HasModel (R.GModel Gasket Model) where+instance CD.Disposing Plan+instance HasPlan (R.Design Model Plan) where+ plan = R.widgetPlan+instance HasModel (R.Design Model Plan) where model = R.widgetModel-instance HasGasket (R.SuperModel Gasket Model) where- gasket = R.gModel . gasket-instance HasModel (R.SuperModel Gasket Model) where- model = R.gModel . model+instance HasPlan (R.SuperModel Model Plan) where+ plan = R.design . plan+instance HasModel (R.SuperModel Model Plan) where+ model = R.design . model -- | This is used by parent components to render this component-window :: Monad m => G.WindowT (GModel act) (R.ReactMlT m) ()+window :: Monad m => G.WindowT (Design act) (R.ReactMlT m) () window = do s <- ask lift $ R.lf (s ^. component . to JE.toJS)@@ -118,7 +118,7 @@ ] -- | This is used by the React render callback-render :: Monad m => G.WindowT (GModel act) (R.ReactMlT m) ()+render :: Monad m => G.WindowT (Design act) (R.ReactMlT m) () render = do s <- ask lift $ R.lf (JE.strJS "input")
src/Glazier/React/Widgets/List.hs view
@@ -14,15 +14,15 @@ ( Command(..) , Action(..) , AsAction(..)- , Gasket(..)- , HasGasket(..)- , mkGasket+ , Plan(..)+ , HasPlan(..)+ , mkPlan , Model(..) , HasModel(..) , mkSuperModel , Widget- , GModel- , MModel+ , Design+ , Replica , SuperModel , window , gadget@@ -51,7 +51,7 @@ import qualified JavaScript.Extras as JE data Command key itemWidget- = RenderCommand (R.SuperModel Gasket (Model key itemWidget)) [JE.Property] J.JSVal+ = RenderCommand (R.SuperModel (Model key itemWidget) Plan) [JE.Property] J.JSVal | DisposeCommand CD.SomeDisposable | MakerCommand (F (R.Maker (Action key itemWidget)) (Action key itemWidget)) | ItemCommand key (R.WidgetCommand itemWidget)@@ -61,7 +61,7 @@ | RenderAction | ComponentDidUpdateAction | DestroyItemAction key- | MakeItemAction (key -> key) (key -> R.WidgetModel itemWidget)+ | MakeItemAction (key -> key) (key -> F (R.Maker (R.WidgetAction itemWidget)) (R.WidgetModel itemWidget)) | AddItemAction key (R.WidgetSuperModel itemWidget) | ItemAction key (R.WidgetAction itemWidget) | SetFilterAction (R.WidgetSuperModel itemWidget -> Bool)@@ -77,7 +77,7 @@ , _itemsFilter :: R.WidgetSuperModel itemWidget -> Bool } -data Gasket = Gasket+data Plan = Plan { _component :: R.ReactComponent , _onRender :: J.Callback (J.JSVal -> IO J.JSVal) , _onComponentRef :: J.Callback (J.JSVal -> IO ())@@ -85,21 +85,21 @@ } deriving (G.Generic) makeClassyPrisms ''Action-makeClassy ''Gasket+makeClassy ''Plan makeClassy ''Model -mkGasket- :: G.WindowT (R.WidgetGModel itemWidget) (R.ReactMlT Identity) ()+mkPlan+ :: G.WindowT (R.WidgetDesign itemWidget) (R.ReactMlT Identity) () -> R.ReactMlT Identity ()- -> MModel key itemWidget- -> F (R.Maker (Action key itemWidget)) Gasket-mkGasket itemWindow separator mm = Gasket+ -> Replica key itemWidget+ -> F (R.Maker (Action key itemWidget)) Plan+mkPlan itemWindow separator mm = Plan <$> R.getComponent <*> (R.mkRenderer mm $ const (render itemWindow separator)) <*> (R.mkHandler $ pure . pure . ComponentRefAction) <*> (R.mkHandler $ pure . pure . const ComponentDidUpdateAction) -instance ( CD.Disposing (R.WidgetGasket itemWidget)+instance ( CD.Disposing (R.WidgetPlan itemWidget) , CD.Disposing (R.WidgetModel itemWidget) ) => CD.Disposing (Model key itemWidget) where@@ -107,33 +107,33 @@ CD.DisposeList $ foldr ((:) . CD.disposing) [] (s ^. itemsModel) mkSuperModel- :: G.WindowT (R.WidgetGModel itemWidget) (R.ReactMlT Identity) ()+ :: G.WindowT (R.WidgetDesign itemWidget) (R.ReactMlT Identity) () -> R.ReactMlT Identity () -> Model key itemWidget -> F (R.Maker (Action key itemWidget)) (SuperModel key itemWidget)-mkSuperModel itemWindow separator s = R.mkSuperModel (mkGasket itemWindow separator) $ \gkt -> R.GModel gkt s+mkSuperModel itemWindow separator mdl = R.mkSuperModel (mkPlan itemWindow separator) (R.Design mdl) data Widget key itemWidget instance R.IsWidget (Widget key itemWidget) where type WidgetAction (Widget key itemWidget) = Action key itemWidget type WidgetCommand (Widget key itemWidget) = Command key itemWidget type WidgetModel (Widget key itemWidget) = Model key itemWidget- type WidgetGasket (Widget ackey itemWidget) = Gasket-type GModel key itemWidget = R.WidgetGModel (Widget key itemWidget)-type MModel key itemWidget = R.WidgetMModel (Widget key itemWidget)+ type WidgetPlan (Widget key itemWidget) = Plan+type Design key itemWidget = R.WidgetDesign (Widget key itemWidget)+type Replica key itemWidget = R.WidgetReplica (Widget key itemWidget) type SuperModel key itemWidget = R.WidgetSuperModel (Widget key itemWidget)-instance CD.Disposing Gasket-instance HasGasket (R.GModel Gasket (Model key itemWidget)) where- gasket = R.widgetGasket-instance HasModel (R.GModel Gasket (Model key itemWidget)) key itemWidget where+instance CD.Disposing Plan+instance HasPlan (R.Design (Model key itemWidget) Plan) where+ plan = R.widgetPlan+instance HasModel (R.Design (Model key itemWidget) Plan) key itemWidget where model = R.widgetModel-instance HasGasket (R.SuperModel Gasket (Model key itemWidget)) where- gasket = R.gModel . gasket-instance HasModel (R.SuperModel Gasket (Model key itemWidget)) key itemWidget where- model = R.gModel . model+instance HasPlan (R.SuperModel (Model key itemWidget) Plan) where+ plan = R.design . plan+instance HasModel (R.SuperModel (Model key itemWidget) Plan) key itemWidget where+ model = R.design . model -- | This is used by parent components to render this component-window :: Monad m => G.WindowT (GModel key itemWidget) (R.ReactMlT m) ()+window :: Monad m => G.WindowT (Design key itemWidget) (R.ReactMlT m) () window = do s <- ask lift $ R.lf (s ^. component . to JE.toJS)@@ -146,12 +146,12 @@ -- | This is used by the React render callback render :: Monad m- => G.WindowT (R.WidgetGModel itemWidget) (R.ReactMlT m) ()+ => G.WindowT (R.WidgetDesign itemWidget) (R.ReactMlT m) () -> R.ReactMlT m ()- -> G.WindowT (GModel key itemWidget) (R.ReactMlT m) ()+ -> G.WindowT (Design key itemWidget) (R.ReactMlT m) () render itemWindow separator = do s <- ask- items <- fmap (view R.gModel) . filter (s ^. itemsFilter) . fmap snd . M.toList <$> view itemsModel+ items <- fmap (view R.design) . filter (s ^. itemsFilter) . fmap snd . M.toList <$> view itemsModel lift $ R.bh (JE.strJS "ul") [ ("key", s ^. uid . to JE.toJS) , ("className", s ^. className . to JE.toJS) ] $ do@@ -160,7 +160,7 @@ sequenceA_ separatedWindows gadget- :: (Ord key, Monad m, CD.Disposing (R.WidgetModel itemWidget), CD.Disposing (R.WidgetGasket itemWidget))+ :: (Ord key, Monad m, CD.Disposing (R.WidgetModel itemWidget), CD.Disposing (R.WidgetPlan itemWidget)) => (R.WidgetModel itemWidget -> F (R.Maker (R.WidgetAction itemWidget)) (R.WidgetSuperModel itemWidget)) -> G.GadgetT (R.WidgetAction itemWidget) (R.WidgetSuperModel itemWidget) m (D.DList (R.WidgetCommand itemWidget)) -> G.GadgetT (Action key itemWidget) (SuperModel key itemWidget) m (D.DList (Command key itemWidget))@@ -197,8 +197,8 @@ n <- keyMaker <$> use itemKey itemKey .= n pure $ D.singleton $ MakerCommand $ do- sm <- hoistF (R.mapAction $ \act -> ItemAction n act) $- mkItemSuperModel (itemModelMaker n)+ sm <- hoistF (R.mapAction $ \act -> ItemAction n act) (+ itemModelMaker n >>= mkItemSuperModel) pure $ AddItemAction n sm AddItemAction n v -> do