-- 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.0 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_ahp7 key_agXR itemWidget_agXS | r_ahp7 -> key_agXR itemWidget_agXS 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_ahp7 key_agXR itemWidget_agXS => Prism' r_ahp7 (Action key_agXR itemWidget_agXS) _ComponentRefAction :: AsAction r_ahp7 key_agXR itemWidget_agXS => Prism' r_ahp7 JSVal _RenderAction :: AsAction r_ahp7 key_agXR itemWidget_agXS => Prism' r_ahp7 () _ComponentDidUpdateAction :: AsAction r_ahp7 key_agXR itemWidget_agXS => Prism' r_ahp7 () _DestroyItemAction :: AsAction r_ahp7 key_agXR itemWidget_agXS => Prism' r_ahp7 key_agXR _MakeItemAction :: AsAction r_ahp7 key_agXR itemWidget_agXS => Prism' r_ahp7 (key_agXR -> key_agXR, key_agXR -> F (Maker (ActionOf itemWidget_agXS)) (ModelOf itemWidget_agXS)) _AddItemAction :: AsAction r_ahp7 key_agXR itemWidget_agXS => Prism' r_ahp7 (key_agXR, SuperModelOf itemWidget_agXS) _ItemAction :: AsAction r_ahp7 key_agXR itemWidget_agXS => Prism' r_ahp7 (key_agXR, ActionOf itemWidget_agXS) _SetFilterAction :: AsAction r_ahp7 key_agXR itemWidget_agXS => Prism' r_ahp7 (SuperModelOf itemWidget_agXS -> 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_ahIh where component = (.) plan component onComponentDidUpdate = (.) plan onComponentDidUpdate onComponentRef = (.) plan onComponentRef onRender = (.) plan onRender plan :: HasPlan c_ahIh => Lens' c_ahIh Plan component :: HasPlan c_ahIh => Lens' c_ahIh ReactComponent onComponentDidUpdate :: HasPlan c_ahIh => Lens' c_ahIh (Callback (JSVal -> IO ())) onComponentRef :: HasPlan c_ahIh => Lens' c_ahIh (Callback (JSVal -> IO ())) onRender :: HasPlan c_ahIh => Lens' c_ahIh (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_ahMw key_agXh itemWidget_agXi | c_ahMw -> key_agXh itemWidget_agXi 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_ahMw key_agXh itemWidget_agXi => Lens' c_ahMw (Model key_agXh itemWidget_agXi) className :: HasModel c_ahMw key_agXh itemWidget_agXi => Lens' c_ahMw JSString componentRef :: HasModel c_ahMw key_agXh itemWidget_agXi => Lens' c_ahMw JSVal deferredCommands :: HasModel c_ahMw key_agXh itemWidget_agXi => Lens' c_ahMw (DList (Command key_agXh itemWidget_agXi)) frameNum :: HasModel c_ahMw key_agXh itemWidget_agXi => Lens' c_ahMw Int itemKey :: HasModel c_ahMw key_agXh itemWidget_agXi => Lens' c_ahMw key_agXh itemsFilter :: HasModel c_ahMw key_agXh itemWidget_agXi => Lens' c_ahMw (SuperModelOf itemWidget_agXi -> Bool) itemsModel :: HasModel c_ahMw key_agXh itemWidget_agXi => Lens' c_ahMw (Map key_agXh (SuperModelOf itemWidget_agXi)) uid :: HasModel c_ahMw key_agXh itemWidget_agXi => Lens' c_ahMw 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_aq5M where _SendCommandsAction = (.) _Action _SendCommandsAction _SubmitAction = (.) _Action _SubmitAction _InputRefAction = (.) _Action _InputRefAction _Action :: AsAction r_aq5M => Prism' r_aq5M Action _SendCommandsAction :: AsAction r_aq5M => Prism' r_aq5M [Command] _SubmitAction :: AsAction r_aq5M => Prism' r_aq5M JSString _InputRefAction :: AsAction r_aq5M => Prism' r_aq5M 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_aq9Y where component = (.) plan component onInputRef = (.) plan onInputRef onKeyDown = (.) plan onKeyDown onRender = (.) plan onRender plan :: HasPlan c_aq9Y => Lens' c_aq9Y Plan component :: HasPlan c_aq9Y => Lens' c_aq9Y ReactComponent onInputRef :: HasPlan c_aq9Y => Lens' c_aq9Y (Callback (JSVal -> IO ())) onKeyDown :: HasPlan c_aq9Y => Lens' c_aq9Y (Callback (JSVal -> IO ())) onRender :: HasPlan c_aq9Y => Lens' c_aq9Y (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_aqe0 where className = (.) model className inputRef = (.) model inputRef placeholder = (.) model placeholder uid = (.) model uid model :: HasModel c_aqe0 => Lens' c_aqe0 Model className :: HasModel c_aqe0 => Lens' c_aqe0 JSString inputRef :: HasModel c_aqe0 => Lens' c_aqe0 JSVal placeholder :: HasModel c_aqe0 => Lens' c_aqe0 JSString uid :: HasModel c_aqe0 => Lens' c_aqe0 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 ()