| Safe Haskell | None |
|---|---|
| Language | GHC2021 |
Web.Hyperbole.Effect.Client
Synopsis
- trigger :: forall id (es :: [Effect]) view. (HyperView id es, HyperViewHandled id view, Hyperbole :> es) => id -> Action id -> Eff (Reader view ': es) ()
- pushEvent :: forall a (es :: [Effect]). (ToJSON a, Hyperbole :> es) => Text -> a -> Eff es ()
- pageTitle :: forall (es :: [Effect]). Hyperbole :> es => Text -> Eff es ()
Documentation
trigger :: forall id (es :: [Effect]) view. (HyperView id es, HyperViewHandled id view, Hyperbole :> es) => id -> Action id -> Eff (Reader view ': es) () Source #
pushEvent :: forall a (es :: [Effect]). (ToJSON a, Hyperbole :> es) => Text -> a -> Eff es () Source #
Dispatch a custom javascript event. This is emitted on the current hyper view and bubbles up to the document
instanceHyperViewMessage es where dataActionMessage = AlertMe deriving (Generic,ViewAction)updateAlertMe = do pushEvent "server-message" ("hello" :: Text) pure "Sent 'server-message' event"
function listenServerEvents() {
// you can listen on document instead, the event will bubble
Hyperbole.hyperView(Message).addEventListener("server-message", function(e) {
alert("Server Message: " + e.detail)
})
}