ComponentInstance

final class ComponentInstance[F[_], AS, M, CS, P, E](nodeId: Id, sessionId: Qsid, frontend: Frontend[F], eventRegistry: EventRegistry[F], stateManager: StateManager[F], getRenderNum: () => Int, val component: Component[F, CS, P, E], stateQueue: Queue[F, (Id, Any, Option[() => Unit])], createMiscProxy: (StatefulRenderContext[Binding[F, AS, M]], (StatefulRenderContext[Binding[F, CS, E]], Binding[F, CS, E]) => Unit) => StatefulRenderContext[Binding[F, CS, E]], scheduler: Scheduler[F], reporter: Reporter, recovery: PartialFunction[Throwable, F[Unit]])(implicit evidence$1: Effect[F], evidence$2: StateSerializer[AS], evidence$3: StateDeserializer[AS], evidence$4: StateSerializer[CS], evidence$5: StateDeserializer[CS])

Component state holder and effects performer

Performing cycle:

  1. prepare()
  2. Optionally setState()
  3. applyRenderContext()
  4. dropObsoleteMisc()
Type parameters:
AS

Type of top level state (application state)

CS

Type of component state

class Object
trait Matchable
class Any
ComponentInstance[F, AS, M, CS, P, E]

Value members

Concrete methods

def applyEvent(eventId: EventId): Boolean
def applyRenderContext(parameters: P, rc: StatefulRenderContext[Binding[F, AS, M]], snapshot: Snapshot): Unit
def destroy(): F[Unit]

Close 'pendingEffects' in this component and all nested components.

Close 'pendingEffects' in this component and all nested components.

MUST be invoked after closing connection.

def dropObsoleteMisc(): Unit

Remove all delays and nested component instances which were not marked during applying render context.

Remove all delays and nested component instances which were not marked during applying render context.

def initialize()(implicit ec: ExecutionContext): F[Fiber[F, Unit]]
def setEventsSubscription(callback: E => ): Unit

Subscribes to component instance events. Callback will be invoked on call of access.publish() in the component instance context.

Subscribes to component instance events. Callback will be invoked on call of access.publish() in the component instance context.

Concrete fields

val component: Component[F, CS, P, E]