module Monomer.SaveManager
(
module Monomer.SaveManager.SaveManagerModel
, module Monomer.SaveManager.SaveManagerCfg
, SaveManagerEvent
, saveManager
, saveManager_
, saveManagerV
, saveManagerV_
, saveManagerD_
) where
import Control.Lens
import Data.Default
import Data.Typeable
import Monomer.Core.Combinators
import Monomer.Widgets.Composite
import Monomer.SaveManager.SaveManagerCfg
import Monomer.SaveManager.SaveManagerEvent
import Monomer.SaveManager.SaveManagerModel
import Monomer.SaveManager.UI
saveManager
:: (WidgetModel s, WidgetEvent e, Eq a, Typeable a)
=> ALens' s (SaveManagerModel a)
-> WidgetNode s e
saveManager :: forall s e a.
(WidgetModel s, WidgetEvent e, Eq a, Typeable a) =>
ALens' s (SaveManagerModel a) -> WidgetNode s e
saveManager ALens' s (SaveManagerModel a)
field = forall s e a.
(WidgetModel s, WidgetEvent e, Eq a, Typeable a) =>
ALens' s (SaveManagerModel a)
-> [SaveManagerCfg s e a] -> WidgetNode s e
saveManager_ ALens' s (SaveManagerModel a)
field forall a. Default a => a
def
saveManager_
:: (WidgetModel s, WidgetEvent e, Eq a, Typeable a)
=> ALens' s (SaveManagerModel a)
-> [SaveManagerCfg s e a]
-> WidgetNode s e
saveManager_ :: forall s e a.
(WidgetModel s, WidgetEvent e, Eq a, Typeable a) =>
ALens' s (SaveManagerModel a)
-> [SaveManagerCfg s e a] -> WidgetNode s e
saveManager_ ALens' s (SaveManagerModel a)
field [SaveManagerCfg s e a]
configs = forall s e a.
(WidgetModel s, WidgetEvent e, Eq a, Typeable a) =>
WidgetData s (SaveManagerModel a)
-> [SaveManagerCfg s e a]
-> [CompositeCfg (SaveManagerModel a) (SaveManagerEvent a) s e]
-> WidgetNode s e
saveManagerD_ WidgetData s (SaveManagerModel a)
wlens [SaveManagerCfg s e a]
configs [] where
wlens :: WidgetData s (SaveManagerModel a)
wlens = forall s a. ALens' s a -> WidgetData s a
WidgetLens ALens' s (SaveManagerModel a)
field
saveManagerV
:: (WidgetModel s, WidgetEvent e, Eq a, Typeable a)
=> SaveManagerModel a
-> (a -> e)
-> WidgetNode s e
saveManagerV :: forall s e a.
(WidgetModel s, WidgetEvent e, Eq a, Typeable a) =>
SaveManagerModel a -> (a -> e) -> WidgetNode s e
saveManagerV SaveManagerModel a
value a -> e
handler = forall s e a.
(WidgetModel s, WidgetEvent e, Eq a, Typeable a) =>
SaveManagerModel a
-> (a -> e) -> [SaveManagerCfg s e a] -> WidgetNode s e
saveManagerV_ SaveManagerModel a
value a -> e
handler forall a. Default a => a
def
saveManagerV_
:: (WidgetModel s, WidgetEvent e, Eq a, Typeable a)
=> SaveManagerModel a
-> (a -> e)
-> [SaveManagerCfg s e a]
-> WidgetNode s e
saveManagerV_ :: forall s e a.
(WidgetModel s, WidgetEvent e, Eq a, Typeable a) =>
SaveManagerModel a
-> (a -> e) -> [SaveManagerCfg s e a] -> WidgetNode s e
saveManagerV_ SaveManagerModel a
value a -> e
handler [SaveManagerCfg s e a]
configs = WidgetNode s e
node where
node :: WidgetNode s e
node = forall s e a.
(WidgetModel s, WidgetEvent e, Eq a, Typeable a) =>
WidgetData s (SaveManagerModel a)
-> [SaveManagerCfg s e a]
-> [CompositeCfg (SaveManagerModel a) (SaveManagerEvent a) s e]
-> WidgetNode s e
saveManagerD_ forall {s}. WidgetData s (SaveManagerModel a)
wdata [SaveManagerCfg s e a]
newConfigs []
wdata :: WidgetData s (SaveManagerModel a)
wdata = forall s a. a -> WidgetData s a
WidgetValue SaveManagerModel a
value
newConfigs :: [SaveManagerCfg s e a]
newConfigs = forall t a e. CmbOnChange t a e => (a -> e) -> t
onChange a -> e
handler forall a. a -> [a] -> [a]
: [SaveManagerCfg s e a]
configs
saveManagerD_
:: (WidgetModel s, WidgetEvent e, Eq a, Typeable a)
=> WidgetData s (SaveManagerModel a)
-> [SaveManagerCfg s e a]
-> [CompositeCfg (SaveManagerModel a) (SaveManagerEvent a) s e]
-> WidgetNode s e
saveManagerD_ :: forall s e a.
(WidgetModel s, WidgetEvent e, Eq a, Typeable a) =>
WidgetData s (SaveManagerModel a)
-> [SaveManagerCfg s e a]
-> [CompositeCfg (SaveManagerModel a) (SaveManagerEvent a) s e]
-> WidgetNode s e
saveManagerD_ WidgetData s (SaveManagerModel a)
wdata [SaveManagerCfg s e a]
configs [CompositeCfg (SaveManagerModel a) (SaveManagerEvent a) s e]
cmpConfigs = WidgetNode s e
node where
node :: WidgetNode s e
node = forall s e ep sp.
(CompositeModel s, CompositeEvent e, CompositeEvent ep,
CompParentModel sp) =>
WidgetType
-> WidgetData sp s
-> UIBuilder s e
-> EventHandler s e sp ep
-> [CompositeCfg s e sp ep]
-> WidgetNode sp ep
compositeD_ WidgetType
wt WidgetData s (SaveManagerModel a)
wdata UIBuilder (SaveManagerModel a) (SaveManagerEvent a)
uiBuilder EventHandler (SaveManagerModel a) (SaveManagerEvent a) s e
eventHandler [CompositeCfg (SaveManagerModel a) (SaveManagerEvent a) s e]
cmpConfigs
wt :: WidgetType
wt = WidgetType
"saveManager"
uiBuilder :: UIBuilder (SaveManagerModel a) (SaveManagerEvent a)
uiBuilder = forall a s e.
(Typeable a, Eq a) =>
SaveManagerCfg s e a
-> UIBuilder (SaveManagerModel a) (SaveManagerEvent a)
buildUI SaveManagerCfg s e a
config
eventHandler :: EventHandler (SaveManagerModel a) (SaveManagerEvent a) s e
eventHandler = forall sp ep a.
SaveManagerCfg sp ep a
-> EventHandler (SaveManagerModel a) (SaveManagerEvent a) sp ep
handleEvent SaveManagerCfg s e a
config
config :: SaveManagerCfg s e a
config = forall a. Monoid a => [a] -> a
mconcat [SaveManagerCfg s e a]
configs