-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Generic widget library using glazier-react -- -- Generic widget library using glazier-react @package glazier-react-widget @version 0.1.0.0 module Glazier.React.Widgets.List data Command key itemWidget RenderCommand :: (SuperModel Gasket (Model key itemWidget)) -> [Property] -> JSVal -> Command key itemWidget DisposeCommand :: SomeDisposable -> Command key itemWidget MakerCommand :: (F (Maker (Action key itemWidget)) (Action key itemWidget)) -> Command key itemWidget ItemCommand :: key -> (WidgetCommand itemWidget) -> Command key itemWidget data Action key itemWidget ComponentRefAction :: JSVal -> Action key itemWidget RenderAction :: Action key itemWidget ComponentDidUpdateAction :: Action key itemWidget DestroyItemAction :: key -> Action key itemWidget MakeItemAction :: (key -> key) -> (key -> WidgetModel itemWidget) -> Action key itemWidget AddItemAction :: key -> (WidgetSuperModel itemWidget) -> Action key itemWidget ItemAction :: key -> (WidgetAction itemWidget) -> Action key itemWidget SetFilterAction :: (WidgetSuperModel itemWidget -> Bool) -> Action key itemWidget 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 _Action :: AsAction r_acqp key_a9Du itemWidget_a9Dv => Prism' r_acqp (Action key_a9Du itemWidget_a9Dv) _ComponentRefAction :: AsAction r_acqp key_a9Du itemWidget_a9Dv => Prism' r_acqp JSVal _RenderAction :: AsAction r_acqp key_a9Du itemWidget_a9Dv => Prism' r_acqp () _ComponentDidUpdateAction :: AsAction r_acqp key_a9Du itemWidget_a9Dv => Prism' r_acqp () _DestroyItemAction :: AsAction r_acqp key_a9Du itemWidget_a9Dv => Prism' r_acqp key_a9Du _MakeItemAction :: AsAction r_acqp key_a9Du itemWidget_a9Dv => Prism' r_acqp (key_a9Du -> key_a9Du, key_a9Du -> WidgetModel itemWidget_a9Dv) _AddItemAction :: AsAction r_acqp key_a9Du itemWidget_a9Dv => Prism' r_acqp (key_a9Du, WidgetSuperModel itemWidget_a9Dv) _ItemAction :: AsAction r_acqp key_a9Du itemWidget_a9Dv => Prism' r_acqp (key_a9Du, WidgetAction itemWidget_a9Dv) _SetFilterAction :: AsAction r_acqp key_a9Du itemWidget_a9Dv => Prism' r_acqp (WidgetSuperModel itemWidget_a9Dv -> Bool) data Gasket Gasket :: ReactComponent -> Callback (JSVal -> IO JSVal) -> Callback (JSVal -> IO ()) -> Callback (JSVal -> IO ()) -> Gasket [_component] :: Gasket -> ReactComponent [_onRender] :: Gasket -> Callback (JSVal -> IO JSVal) [_onComponentRef] :: Gasket -> Callback (JSVal -> IO ()) [_onComponentDidUpdate] :: Gasket -> Callback (JSVal -> IO ()) class HasGasket c_acLf where component = (.) gasket component onComponentDidUpdate = (.) gasket onComponentDidUpdate onComponentRef = (.) gasket onComponentRef onRender = (.) gasket onRender gasket :: HasGasket c_acLf => Lens' c_acLf Gasket component :: HasGasket c_acLf => Lens' c_acLf ReactComponent onComponentDidUpdate :: HasGasket c_acLf => Lens' c_acLf (Callback (JSVal -> IO ())) onComponentRef :: HasGasket c_acLf => Lens' c_acLf (Callback (JSVal -> IO ())) onRender :: HasGasket c_acLf => Lens' c_acLf (Callback (JSVal -> IO JSVal)) mkGasket :: WindowT (WidgetGModel itemWidget) (ReactMlT Identity) () -> ReactMlT Identity () -> MModel key itemWidget -> F (Maker (Action key itemWidget)) Gasket data Model key itemWidget Model :: JSString -> JSVal -> Int -> DList (Command key itemWidget) -> JSString -> key -> Map key (WidgetSuperModel itemWidget) -> (WidgetSuperModel itemWidget -> Bool) -> Model key itemWidget [_uid] :: Model key itemWidget -> JSString [_componentRef] :: Model key itemWidget -> JSVal [_frameNum] :: Model key itemWidget -> Int [_deferredCommands] :: Model key itemWidget -> DList (Command key itemWidget) [_className] :: Model key itemWidget -> JSString [_itemKey] :: Model key itemWidget -> key [_itemsModel] :: Model key itemWidget -> Map key (WidgetSuperModel itemWidget) [_itemsFilter] :: Model key itemWidget -> WidgetSuperModel itemWidget -> Bool 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 model :: HasModel c_acPu key_a9vn itemWidget_a9vo => Lens' c_acPu (Model key_a9vn itemWidget_a9vo) className :: HasModel c_acPu key_a9vn itemWidget_a9vo => Lens' c_acPu JSString componentRef :: HasModel c_acPu key_a9vn itemWidget_a9vo => Lens' c_acPu JSVal deferredCommands :: HasModel c_acPu key_a9vn itemWidget_a9vo => Lens' c_acPu (DList (Command key_a9vn itemWidget_a9vo)) frameNum :: HasModel c_acPu key_a9vn itemWidget_a9vo => Lens' c_acPu Int itemKey :: HasModel c_acPu key_a9vn itemWidget_a9vo => Lens' c_acPu key_a9vn itemsFilter :: HasModel c_acPu key_a9vn itemWidget_a9vo => Lens' c_acPu (WidgetSuperModel itemWidget_a9vo -> Bool) itemsModel :: HasModel c_acPu key_a9vn itemWidget_a9vo => Lens' c_acPu (Map key_a9vn (WidgetSuperModel itemWidget_a9vo)) uid :: HasModel c_acPu key_a9vn itemWidget_a9vo => Lens' c_acPu JSString mkSuperModel :: WindowT (WidgetGModel itemWidget) (ReactMlT Identity) () -> ReactMlT Identity () -> Model key itemWidget -> F (Maker (Action key itemWidget)) (SuperModel key itemWidget) data Widget key itemWidget type GModel key itemWidget = WidgetGModel (Widget key itemWidget) type MModel key itemWidget = WidgetMModel (Widget key itemWidget) type SuperModel key itemWidget = WidgetSuperModel (Widget key itemWidget) -- | This is used by parent components to render this component window :: Monad m => WindowT (GModel key itemWidget) (ReactMlT m) () 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)) instance Glazier.React.Widgets.List.HasModel (Glazier.React.Widgets.List.Model key0 itemWidget0) key0 itemWidget0 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) instance Glazier.React.Widget.IsWidget (Glazier.React.Widgets.List.Widget key itemWidget) instance Control.Disposable.Disposing Glazier.React.Widgets.List.Gasket instance Glazier.React.Widgets.List.HasGasket (Glazier.React.Widget.GModel Glazier.React.Widgets.List.Gasket (Glazier.React.Widgets.List.Model key itemWidget)) instance Glazier.React.Widgets.List.HasModel (Glazier.React.Widget.GModel Glazier.React.Widgets.List.Gasket (Glazier.React.Widgets.List.Model key itemWidget)) key itemWidget instance Glazier.React.Widgets.List.HasGasket (Glazier.React.Widget.SuperModel Glazier.React.Widgets.List.Gasket (Glazier.React.Widgets.List.Model key itemWidget)) instance Glazier.React.Widgets.List.HasModel (Glazier.React.Widget.SuperModel Glazier.React.Widgets.List.Gasket (Glazier.React.Widgets.List.Model key itemWidget)) key itemWidget instance Glazier.React.Widgets.List.HasGasket Glazier.React.Widgets.List.Gasket instance Glazier.React.Widgets.List.AsAction (Glazier.React.Widgets.List.Action key0 itemWidget0) key0 itemWidget0 instance GHC.Generics.Generic Glazier.React.Widgets.List.Gasket module Glazier.React.Widgets.List.Run run :: (key -> WidgetCommand itemWidget -> IO ()) -> ReactComponent -> Output (Action key itemWidget) -> Command key itemWidget -> IO () module Glazier.React.Widgets.Input data Command act SetPropertyCommand :: Property -> JSVal -> Command act GetPropertyCommand :: JSString -> JSVal -> (JSVal -> act) -> Command act data Action act SendCommandsAction :: [Command act] -> Action act SubmitAction :: JSString -> Action act InputRefAction :: JSVal -> Action act GetPropertyAction :: JSString -> (JSVal -> act) -> Action act class AsAction r_aq4u act_apX1 | r_aq4u -> act_apX1 where _SendCommandsAction = (.) _Action _SendCommandsAction _SubmitAction = (.) _Action _SubmitAction _InputRefAction = (.) _Action _InputRefAction _GetPropertyAction = (.) _Action _GetPropertyAction _Action :: AsAction r_aq4u act_apX1 => Prism' r_aq4u (Action act_apX1) _SendCommandsAction :: AsAction r_aq4u act_apX1 => Prism' r_aq4u [Command act_apX1] _SubmitAction :: AsAction r_aq4u act_apX1 => Prism' r_aq4u JSString _InputRefAction :: AsAction r_aq4u act_apX1 => Prism' r_aq4u JSVal _GetPropertyAction :: AsAction r_aq4u act_apX1 => Prism' r_aq4u (JSString, JSVal -> act_apX1) data Gasket Gasket :: ReactComponent -> Callback (JSVal -> IO JSVal) -> Callback (JSVal -> IO ()) -> Callback (JSVal -> IO ()) -> Gasket [_component] :: Gasket -> ReactComponent [_onRender] :: Gasket -> Callback (JSVal -> IO JSVal) [_onInputRef] :: Gasket -> Callback (JSVal -> IO ()) [_onKeyDown] :: Gasket -> Callback (JSVal -> IO ()) class HasGasket c_aqas where component = (.) gasket component onInputRef = (.) gasket onInputRef onKeyDown = (.) gasket onKeyDown onRender = (.) gasket onRender gasket :: HasGasket c_aqas => Lens' c_aqas Gasket component :: HasGasket c_aqas => Lens' c_aqas ReactComponent onInputRef :: HasGasket c_aqas => Lens' c_aqas (Callback (JSVal -> IO ())) onKeyDown :: HasGasket c_aqas => Lens' c_aqas (Callback (JSVal -> IO ())) onRender :: HasGasket c_aqas => Lens' c_aqas (Callback (JSVal -> IO JSVal)) mkGasket :: MModel Gasket Model -> F (Maker (Action act)) Gasket data Model Model :: JSString -> JSVal -> JSString -> JSString -> Model [_uid] :: Model -> JSString [_inputRef] :: Model -> JSVal [_placeholder] :: Model -> JSString [_className] :: Model -> JSString class HasModel c_aqeu where className = (.) model className inputRef = (.) model inputRef placeholder = (.) model placeholder uid = (.) model uid model :: HasModel c_aqeu => Lens' c_aqeu Model className :: HasModel c_aqeu => Lens' c_aqeu JSString inputRef :: HasModel c_aqeu => Lens' c_aqeu JSVal placeholder :: HasModel c_aqeu => Lens' c_aqeu JSString uid :: HasModel c_aqeu => Lens' c_aqeu JSString mkSuperModel :: Model -> F (Maker (Action act)) (SuperModel act) data Widget act type GModel act = WidgetGModel (Widget act) type MModel act = WidgetMModel (Widget act) type SuperModel act = WidgetSuperModel (Widget act) -- | This is used by parent components to render this component window :: Monad m => WindowT (GModel act) (ReactMlT m) () -- | 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. gadget :: Monad m => GadgetT (Action act) (SuperModel act) m (DList (Command act)) whenKeyDown :: JSVal -> MaybeT IO (Maybe JSString, JSVal) instance Glazier.React.Widgets.Input.HasModel Glazier.React.Widgets.Input.Model instance Control.Disposable.Disposing Glazier.React.Widgets.Input.Model instance Glazier.React.Widget.IsWidget (Glazier.React.Widgets.Input.Widget act) instance Control.Disposable.Disposing Glazier.React.Widgets.Input.Gasket instance Glazier.React.Widgets.Input.HasGasket (Glazier.React.Widget.GModel Glazier.React.Widgets.Input.Gasket Glazier.React.Widgets.Input.Model) instance Glazier.React.Widgets.Input.HasModel (Glazier.React.Widget.GModel Glazier.React.Widgets.Input.Gasket Glazier.React.Widgets.Input.Model) instance Glazier.React.Widgets.Input.HasGasket (Glazier.React.Widget.SuperModel Glazier.React.Widgets.Input.Gasket Glazier.React.Widgets.Input.Model) instance Glazier.React.Widgets.Input.HasModel (Glazier.React.Widget.SuperModel Glazier.React.Widgets.Input.Gasket Glazier.React.Widgets.Input.Model) instance Glazier.React.Widgets.Input.HasGasket Glazier.React.Widgets.Input.Gasket instance Glazier.React.Widgets.Input.AsAction (Glazier.React.Widgets.Input.Action act0) act0 instance GHC.Generics.Generic Glazier.React.Widgets.Input.Gasket instance GHC.Base.Functor Glazier.React.Widgets.Input.Action instance GHC.Base.Functor Glazier.React.Widgets.Input.Command module Glazier.React.Widgets.Input.Run run :: Output act -> Command act -> IO ()