LiveView
trait LiveView[Msg, Model]Defines a server-rendered view with typed messages and model state.
A LiveView is mounted independently for the disconnected HTTP render and each connected socket lifecycle. Its immutable model is projected through a signal-backed HtmlElement, while browser bindings and managed work deliver values to handleMessage.
Type parameters
Msgmessages accepted by this view
Modelimmutable state owned by one lifecycle
Defined by scalive.LiveView. View source (scalive/api/src/scalive/lifecycle/LiveView.scala:17-39)
Types3
AfterRenderContext
type AfterRenderContext = AfterRenderContext[Msg, Model]Defined by scalive.LiveView.AfterRenderContext. View source (scalive/api/src/scalive/lifecycle/LiveView.scala:20-20)
MessageContext
type MessageContext = MessageContext[Msg, Model]Defined by scalive.LiveView.MessageContext. View source (scalive/api/src/scalive/lifecycle/LiveView.scala:19-19)
MountContext
type MountContext = MountContext[Msg, Model]Defined by scalive.LiveView.MountContext. View source (scalive/api/src/scalive/lifecycle/LiveView.scala:18-18)
Methods5
handleMessage
def handleMessage(model: Model, ctx: MessageContext): Msg => zio.package.Task[Model]Handles a message against the current immutable model.
The returned function keeps message dispatch typed while sharing the model and connected capabilities captured for this lifecycle turn.
Parameters
modelcurrent model
ctxcapabilities available while handling the message
Returns
- Returns
a handler for one message
Defined by scalive.LiveView.handleMessage. View source (scalive/api/src/scalive/lifecycle/LiveView.scala:38-38)
hooks
def hooks: LiveHooks[Msg, Model]Defined by scalive.LiveView.hooks. View source (scalive/api/src/scalive/lifecycle/LiveView.scala:22-22)
mount
def mount(ctx: MountContext): zio.package.Task[Model]Defined by scalive.LiveView.mount. View source (scalive/api/src/scalive/lifecycle/LiveView.scala:24-24)
pageTitle
def pageTitle(model: Model): Option[String]Defined by scalive.LiveView.pageTitle. View source (scalive/api/src/scalive/lifecycle/LiveView.scala:23-23)
view
def view(model: Signal[Model]): HtmlElement[Msg]Defined by scalive.LiveView.view. View source (scalive/api/src/scalive/lifecycle/LiveView.scala:39-39)