Interface UiComponent

All Known Implementing Classes:
AgentDetailComponent, AgentFormComponent, AgentListComponent, ChatFormComponent, LlmConfigDetailComponent, LlmConfigFormComponent, LlmConfigListComponent, LlmConfigTestComponent, MemoryDetailSectionComponent, MemoryMasterListComponent, MessageListComponent, MigrationListComponent, RoundtripCardComponent, SessionInfoComponent, SessionTableComponent, TaskCardComponent, TodoListComponent, ToolCatalogComponent, ToolCatalogTestComponent, ToolDetailComponent, ToolFormComponent, ToolTableComponent, ToolTestComponent, TraceDetailSectionComponent, TraceMasterListComponent, WorkspaceScopeListComponent

public interface UiComponent
A reusable UI building block that knows both its DOM id and how to render itself as a UiNode.

Components are app-specific (they bind a domain model to a UI tree) and intentionally stateless: the model goes in via the constructor, every method returns a fresh node or patch operation. The same component instance can therefore be used to render a full page (via render()) and to produce patch operations (via component-level helpers like MessageListComponent.appendUserMessage(...)) without ever mutating its own state.

The id() contract is important: patches target elements by id, so every component must surface the same id it uses when rendering its root node. Pages compose components and routinely use their ids as patch targets.

  • Method Summary

    Modifier and Type
    Method
    Description
    id()
    The DOM id this component renders with.
    ai.mindconnect.ui.model.UiNode
    Full render — emit the component as a UiNode.
  • Method Details

    • id

      String id()
      The DOM id this component renders with. Patch operations targeting this component (REPLACE / CLEAR / REMOVE) use this id, so it must match the id on the root UiNode returned by render().
    • render

      ai.mindconnect.ui.model.UiNode render()
      Full render — emit the component as a UiNode. Used both inside a page's full render and as the payload of a REPLACE patch.