bulmex-4.0.0: Reflex infused with bulma (css)

Safe HaskellNone
LanguageHaskell2010

Reflex.Bulmex.Event

Contents

Description

Helper functions for dealing with events

Synopsis

Documentation

eventJoin :: (Reflex t, MonadHold t m) => Event t (Event t a) -> m (Event t a) Source #

switchTup :: Reflex t => Dynamic t (Event t b, Event t c) -> (Event t b, Event t c) Source #

Get rid of a dynimc around a tupple of events, common sense says we should be able to do this for any traversable, but keeping the values of events hetrogenous is hard (I don't know how to)

Hold

holdEvent :: (DomBuilder t m, MonadHold t m) => b -> Event t a -> (a -> m b) -> m (Dynamic t b) Source #

Do something monadic with an event val Because of haskell lazyness the things inside a holdevent don't get evaluated untill the event fires, which makes the first time slow. However it is good for initialization as we don't need to load things unused.

holdEvent_ :: (DomBuilder t m, MonadHold t m) => Event t a -> (a -> m b) -> m () Source #

Convenience holdEvent for the case where we don't care about the value.

holdAfter :: (PostBuild t m, DomBuilder t m, MonadHold t m, PerformEvent t m, TriggerEvent t m, MonadIO (Performable m)) => b -> Event t a -> (a -> Event t a -> m b) -> m (Dynamic t b) Source #

Do something monadic with an event val, and get the event which is delayed for a moment. Using this may indicate you're doing something weird. Although I've found it handy in getting just something to work

Flash

flash :: (Monoid c, DomBuilder t m, PerformEvent t m, MonadHold t m, TriggerEvent t m, MonadIO (Performable m)) => Event t b -> (b -> m c) -> m (Dynamic t c) Source #

show something for 5 seconds after an event

flash' :: (DomBuilder t m, PerformEvent t m, MonadHold t m, TriggerEvent t m, MonadIO (Performable m)) => NominalDiffTime -> c -> Event t b -> (b -> m c) -> m (Dynamic t c) Source #

Display

evtText :: (DomBuilder t m, PostBuild t m, MonadHold t m) => Event t Text -> m () Source #

Gate

noNothing :: (Filterable f, Filterable f) => f (Maybe a) -> f a Source #

Block those nothing events and only let trough Just values

gatePrism :: Reflex t => Prism' a b -> Event t a -> Event t b Source #