ComponentInstance

korolev.internal.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()

Attributes

AS

Type of top level state (application state)

CS

Type of component state

Graph
Supertypes
class Object
trait Matchable
class Any
Self type
ComponentInstance[F, AS, M, CS, P, E]

Members list

Concise view

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.

Attributes

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.

Attributes

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.

Attributes

Concrete fields

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