Member Junction
    Preparing search index...

    Base class for all Angular components in the MemberJunction system.

    Hierarchy (View Summary)

    Implements

    • OnInit
    • OnDestroy
    Index

    Constructors

    Properties

    AppContext: Record<string, unknown> | null = null

    Application context snapshot for AI agent awareness. Updated by the host app on navigation transitions.

    BubbleOffsetY: number = 0

    Pixels the floating bubble has been dragged up from its default bottom-right corner position. Always >= 0; clamping at render time keeps the bubble on-screen even after a viewport resize.

    Conversation: MJConversationEntity | null = null

    Active conversation entity

    ConversationSwitched: EventEmitter<OverlayConversationSwitchedEvent> = ...

    Emitted when the active conversation changes in the overlay

    CurrentUser: UserInfo

    Current user info, passed through to conversation-chat-area. Auto-resolved from Metadata if not provided.

    EmptyStateGreeting: string = 'How can I help you?'

    Greeting message shown in the empty state when no conversation is active

    EnvironmentId: string

    Environment ID, passed through to conversation-chat-area. Auto-resolved from default if not provided.

    IsBubbleDragging: boolean = false

    True while the user is actively dragging the bubble; used to swap cursor + suppress click.

    IsBubblePressed: boolean = false

    True from mousedown until mouseup on the bubble, regardless of whether the gesture became a drag. Used to give immediate "I'm being held" feedback so the user can see drag is possible even before crossing the move threshold.

    IsHidden: boolean = false

    When true, the floating bubble is hidden and replaced by a thin sliver flush with the right edge of the viewport. Persisted across sessions via OverlayPrefs.bubbleHidden. Clicking the sliver restores the bubble.

    IsNewConversation: boolean = true

    Whether a new unsaved conversation is in progress

    NavigationRequested: EventEmitter<NavigationRequest> = ...

    Emitted when navigation is requested (entity record, etc.)

    OpenEntityRecord: EventEmitter<
        { compositeKey: CompositeKey; entityName: string },
    > = ...

    Emitted when an entity record open is requested

    OpenFullChatWorkspace: EventEmitter<string | null> = ...

    Emitted when the user requests opening the full chat workspace

    PanelHeight: number = ChatAgentsOverlayComponent.DEFAULT_HEIGHT
    PanelWidth: number = ChatAgentsOverlayComponent.DEFAULT_WIDTH

    Panel dimensions (persisted via UserInfoEngine)

    PendingAttachments: PendingAttachment[] | null = null

    Pending attachments to send after conversation creation

    PendingMessage: string | null = null

    Pending message to send after conversation creation

    PendingMessageConversationId: string | null = null

    The conversation PendingMessage is destined for — pins the auto-send to that conversation's input so a fast conversation-swap can't redirect it elsewhere.

    Provider: IMetadataProvider | null

    If specified, this provider will be used for communication and for all metadata purposes. By default, if not provided, the Metadata and RunView classes are used for this and the default GraphQLDataProvider is used which is connected to the same back-end MJAPI instance as the Metadata and RunView classes. If you want to have this component connect to a different MJAPI back-end, create an instance of a ProviderBase sub-class like GraphQLDataProvider/etc, and configure it as appropriate to connect to the MJAPI back-end you want to use, and then pass it in here.

    State: ChatOverlayState = 'collapsed'
    TaskClicked: EventEmitter<MJTaskEntity> = ...

    Emitted when a task is clicked

    ToolExecuted: EventEmitter<ClientToolResultEvent> = ...

    Emitted when a tool finishes executing in the agent client

    TopBoundaryPx: number = 0

    Pixels reserved at the top of the viewport that the bubble and panel must not cross. Set this from the host app to the height of any fixed top chrome (e.g. Explorer's shell-header). Defaults to 0 — generic apps without top chrome keep the full viewport available.

    UnreadCount: number = 0
    VisibilityChanged: EventEmitter<ChatOverlayState> = ...

    Emitted when the overlay visibility changes

    "ɵdir": unknown
    "ɵfac": unknown

    Accessors

    • get ProviderToUse(): IMetadataProvider

      Returns either the default Metadata provider or the one specified in the Provider property, if it was specified

      Returns IMetadataProvider

    • get RunQueryToUse(): IRunQueryProvider

      Returns either the default RunQuery provider or the one specified in the Provider property, if it was specified

      Returns IRunQueryProvider

    • get RunReportToUse(): IRunReportProvider

      Returns either the default RunReport provider or the one specified in the Provider property, if it was specified

      Returns IRunReportProvider

    • get RunViewToUse(): IRunViewProvider

      Returns either the default RunView provider or the one specified in the Provider property, if it was specified

      Returns IRunViewProvider

    Methods

    • Start tracking a potential bubble drag. We don't enter drag mode until the pointer moves past BUBBLE_DRAG_THRESHOLD_PX — releasing before that threshold is treated as a normal click/tap and opens the chat (via Toggle()).

      Pointer Events (not mousedown) so the same code path serves desktop mouse, touch on phones/tablets, and pen input. setPointerCapture keeps the gesture tied to this element even if the finger or cursor strays off the bubble.

      Parameters

      • event: PointerEvent

      Returns void