-- 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.3.0.1 module Glazier.React.Widgets.List data Command key itemWidget RenderCommand :: (SuperModel (Model key itemWidget) Plan) -> [Property] -> JSVal -> Command key itemWidget DisposeCommand :: SomeDisposable -> Command key itemWidget MakerCommand :: (F (Maker (Action key itemWidget)) (Action key itemWidget)) -> Command key itemWidget ItemCommand :: key -> (CommandOf 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 -> F (Maker (ActionOf itemWidget)) (ModelOf itemWidget)) -> Action key itemWidget AddItemAction :: key -> (SuperModelOf itemWidget) -> Action key itemWidget ItemAction :: key -> (ActionOf itemWidget) -> Action key itemWidget SetFilterAction :: (SuperModelOf itemWidget -> Bool) -> Action key itemWidget class AsAction r_ahq6 key_agYQ itemWidget_agYR | r_ahq6 -> key_agYQ itemWidget_agYR 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_ahq6 key_agYQ itemWidget_agYR => Prism' r_ahq6 (Action key_agYQ itemWidget_agYR) _ComponentRefAction :: AsAction r_ahq6 key_agYQ itemWidget_agYR => Prism' r_ahq6 JSVal _RenderAction :: AsAction r_ahq6 key_agYQ itemWidget_agYR => Prism' r_ahq6 () _ComponentDidUpdateAction :: AsAction r_ahq6 key_agYQ itemWidget_agYR => Prism' r_ahq6 () _DestroyItemAction :: AsAction r_ahq6 key_agYQ itemWidget_agYR => Prism' r_ahq6 key_agYQ _MakeItemAction :: AsAction r_ahq6 key_agYQ itemWidget_agYR => Prism' r_ahq6 (key_agYQ -> key_agYQ, key_agYQ -> F (Maker (ActionOf itemWidget_agYR)) (ModelOf itemWidget_agYR)) _AddItemAction :: AsAction r_ahq6 key_agYQ itemWidget_agYR => Prism' r_ahq6 (key_agYQ, SuperModelOf itemWidget_agYR) _ItemAction :: AsAction r_ahq6 key_agYQ itemWidget_agYR => Prism' r_ahq6 (key_agYQ, ActionOf itemWidget_agYR) _SetFilterAction :: AsAction r_ahq6 key_agYQ itemWidget_agYR => Prism' r_ahq6 (SuperModelOf itemWidget_agYR -> Bool) data Plan Plan :: ReactComponent -> Callback (JSVal -> IO JSVal) -> Callback (JSVal -> IO ()) -> Callback (JSVal -> IO ()) -> Plan [_component] :: Plan -> ReactComponent [_onRender] :: Plan -> Callback (JSVal -> IO JSVal) [_onComponentRef] :: Plan -> Callback (JSVal -> IO ()) [_onComponentDidUpdate] :: Plan -> Callback (JSVal -> IO ()) class HasPlan c_ahJg where component = (.) plan component onComponentDidUpdate = (.) plan onComponentDidUpdate onComponentRef = (.) plan onComponentRef onRender = (.) plan onRender plan :: HasPlan c_ahJg => Lens' c_ahJg Plan component :: HasPlan c_ahJg => Lens' c_ahJg ReactComponent onComponentDidUpdate :: HasPlan c_ahJg => Lens' c_ahJg (Callback (JSVal -> IO ())) onComponentRef :: HasPlan c_ahJg => Lens' c_ahJg (Callback (JSVal -> IO ())) onRender :: HasPlan c_ahJg => Lens' c_ahJg (Callback (JSVal -> IO JSVal)) mkPlan :: ReactMlT Identity () -> WindowT (DesignOf itemWidget) (ReactMlT Identity) () -> Frame (Model key itemWidget) Plan -> F (Maker (Action key itemWidget)) Plan data Model key itemWidget Model :: JSString -> JSVal -> Int -> DList (Command key itemWidget) -> JSString -> key -> Map key (SuperModelOf itemWidget) -> (SuperModelOf 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 (SuperModelOf itemWidget) [_itemsFilter] :: Model key itemWidget -> SuperModelOf itemWidget -> Bool class HasModel c_ahNv key_agYg itemWidget_agYh | c_ahNv -> key_agYg itemWidget_agYh 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_ahNv key_agYg itemWidget_agYh => Lens' c_ahNv (Model key_agYg itemWidget_agYh) className :: HasModel c_ahNv key_agYg itemWidget_agYh => Lens' c_ahNv JSString componentRef :: HasModel c_ahNv key_agYg itemWidget_agYh => Lens' c_ahNv JSVal deferredCommands :: HasModel c_ahNv key_agYg itemWidget_agYh => Lens' c_ahNv (DList (Command key_agYg itemWidget_agYh)) frameNum :: HasModel c_ahNv key_agYg itemWidget_agYh => Lens' c_ahNv Int itemKey :: HasModel c_ahNv key_agYg itemWidget_agYh => Lens' c_ahNv key_agYg itemsFilter :: HasModel c_ahNv key_agYg itemWidget_agYh => Lens' c_ahNv (SuperModelOf itemWidget_agYh -> Bool) itemsModel :: HasModel c_ahNv key_agYg itemWidget_agYh => Lens' c_ahNv (Map key_agYg (SuperModelOf itemWidget_agYh)) uid :: HasModel c_ahNv key_agYg itemWidget_agYh => Lens' c_ahNv JSString type Design key itemWidget = Design (Model key itemWidget) Plan type Frame key itemWidget = Frame (Model key itemWidget) Plan type SuperModel key itemWidget = SuperModel (Model key itemWidget) Plan type Widget key itemWidget = Widget (Command key itemWidget) (Action key itemWidget) (Model key itemWidget) Plan widget :: (IsWidget itemWidget, Ord key) => ReactMlT Identity () -> itemWidget -> Widget (Command key itemWidget) (Action key itemWidget) (Model key itemWidget) Plan -- | Exposed to parent components to render this component window :: WindowT (Design (Model key itemWidget) Plan) (ReactMlT Identity) () gadget :: (Ord key, Disposing (ModelOf itemWidget), Disposing (PlanOf itemWidget)) => (ModelOf itemWidget -> F (Maker (ActionOf itemWidget)) (SuperModelOf itemWidget)) -> GadgetT (ActionOf itemWidget) (SuperModelOf itemWidget) Identity (DList (CommandOf itemWidget)) -> GadgetT (Action key itemWidget) (SuperModel (Model key itemWidget) Plan) Identity (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.Widgets.List.Plan instance Control.Disposable.Disposing (Glazier.React.Widget.SuperModelOf itemWidget) => Control.Disposable.Disposing (Glazier.React.Widgets.List.Model key itemWidget) instance Glazier.React.Widgets.List.HasPlan (Glazier.React.Model.Design (Glazier.React.Widgets.List.Model key itemWidget) Glazier.React.Widgets.List.Plan) instance Glazier.React.Widgets.List.HasModel (Glazier.React.Model.Design (Glazier.React.Widgets.List.Model key itemWidget) Glazier.React.Widgets.List.Plan) key itemWidget instance Glazier.React.Widgets.List.HasPlan (Glazier.React.Model.SuperModel (Glazier.React.Widgets.List.Model key itemWidget) Glazier.React.Widgets.List.Plan) instance Glazier.React.Widgets.List.HasModel (Glazier.React.Model.SuperModel (Glazier.React.Widgets.List.Model key itemWidget) Glazier.React.Widgets.List.Plan) key itemWidget instance Glazier.React.Widgets.List.HasPlan Glazier.React.Widgets.List.Plan instance Glazier.React.Widgets.List.AsAction (Glazier.React.Widgets.List.Action key0 itemWidget0) key0 itemWidget0 instance GHC.Generics.Generic Glazier.React.Widgets.List.Plan module Glazier.React.Widgets.List.Run run :: (key -> CommandOf itemWidget -> IO ()) -> ReactComponent -> Output (Action key itemWidget) -> Command key itemWidget -> IO () module Glazier.React.Widgets.Input data Command SetPropertyCommand :: Property -> JSVal -> Command data Action SendCommandsAction :: [Command] -> Action SubmitAction :: JSString -> Action InputRefAction :: JSVal -> Action class AsAction r_aq5A where _SendCommandsAction = (.) _Action _SendCommandsAction _SubmitAction = (.) _Action _SubmitAction _InputRefAction = (.) _Action _InputRefAction _Action :: AsAction r_aq5A => Prism' r_aq5A Action _SendCommandsAction :: AsAction r_aq5A => Prism' r_aq5A [Command] _SubmitAction :: AsAction r_aq5A => Prism' r_aq5A JSString _InputRefAction :: AsAction r_aq5A => Prism' r_aq5A JSVal data Plan Plan :: ReactComponent -> Callback (JSVal -> IO JSVal) -> Callback (JSVal -> IO ()) -> Callback (JSVal -> IO ()) -> Plan [_component] :: Plan -> ReactComponent [_onRender] :: Plan -> Callback (JSVal -> IO JSVal) [_onInputRef] :: Plan -> Callback (JSVal -> IO ()) [_onKeyDown] :: Plan -> Callback (JSVal -> IO ()) class HasPlan c_aq9M where component = (.) plan component onInputRef = (.) plan onInputRef onKeyDown = (.) plan onKeyDown onRender = (.) plan onRender plan :: HasPlan c_aq9M => Lens' c_aq9M Plan component :: HasPlan c_aq9M => Lens' c_aq9M ReactComponent onInputRef :: HasPlan c_aq9M => Lens' c_aq9M (Callback (JSVal -> IO ())) onKeyDown :: HasPlan c_aq9M => Lens' c_aq9M (Callback (JSVal -> IO ())) onRender :: HasPlan c_aq9M => Lens' c_aq9M (Callback (JSVal -> IO JSVal)) mkPlan :: Frame Model Plan -> F (Maker Action) Plan data Model Model :: JSString -> JSVal -> JSString -> JSString -> Model [_uid] :: Model -> JSString [_inputRef] :: Model -> JSVal [_placeholder] :: Model -> JSString [_className] :: Model -> JSString class HasModel c_aqdO where className = (.) model className inputRef = (.) model inputRef placeholder = (.) model placeholder uid = (.) model uid model :: HasModel c_aqdO => Lens' c_aqdO Model className :: HasModel c_aqdO => Lens' c_aqdO JSString inputRef :: HasModel c_aqdO => Lens' c_aqdO JSVal placeholder :: HasModel c_aqdO => Lens' c_aqdO JSString uid :: HasModel c_aqdO => Lens' c_aqdO JSString type Design = Design Model Plan type Frame = Frame Model Plan type SuperModel = SuperModel Model Plan type Widget = Widget Command Action Model Plan widget :: Widget Command Action Model Plan -- | Exposed to parent components to render this component window :: WindowT (Design Model Plan) (ReactMlT Identity) () -- | 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 :: GadgetT Action (SuperModel Model Plan) Identity (DList Command) 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.Plan instance Control.Disposable.Disposing Glazier.React.Widgets.Input.Model instance Glazier.React.Widgets.Input.HasPlan (Glazier.React.Model.Design Glazier.React.Widgets.Input.Model Glazier.React.Widgets.Input.Plan) instance Glazier.React.Widgets.Input.HasModel (Glazier.React.Model.Design Glazier.React.Widgets.Input.Model Glazier.React.Widgets.Input.Plan) instance Glazier.React.Widgets.Input.HasPlan (Glazier.React.Model.SuperModel Glazier.React.Widgets.Input.Model Glazier.React.Widgets.Input.Plan) instance Glazier.React.Widgets.Input.HasModel (Glazier.React.Model.SuperModel Glazier.React.Widgets.Input.Model Glazier.React.Widgets.Input.Plan) instance Glazier.React.Widgets.Input.HasPlan Glazier.React.Widgets.Input.Plan instance Glazier.React.Widgets.Input.AsAction Glazier.React.Widgets.Input.Action instance GHC.Generics.Generic Glazier.React.Widgets.Input.Plan module Glazier.React.Widgets.Input.Run run :: Command -> IO ()