Member Junction
    Preparing search index...

    Component for displaying a single message in a conversation Follows the dynamic rendering pattern from skip-chat for optimal performance This component is created dynamically via ViewContainerRef.createComponent()

    Hierarchy (View Summary)

    Implements

    • OnInit
    • AfterViewInit
    • OnDestroy
    • OnChanges
    • DoCheck
    Index

    Constructors

    Properties

    Accessors

    Methods

    Constructors

    Properties

    _agentRunDurationFormatted: string = '0:00'
    _elapsedTimeFormatted: string = '0:00'
    afterResponseFormSubmitted: EventEmitter<AfterResponseFormSubmittedEventArgs> = ...

    Fired AFTER the response form's values have been submitted. Carries the form id (using the message ID as a stable per-message identifier) and the submitted values map. Not fired when beforeResponseFormSubmitted was canceled.

    agentRun: MJAIAgentRunEntityExtended | null = null
    allowMessageDelete: boolean = true

    Allow deleting the user's own messages (the per-message delete button).

    allowMessageEdit: boolean = true

    Allow editing the user's own messages (the per-message edit button).

    allowPinning: boolean = true

    Allow pinning messages (the per-message pin button).

    artifact?: MJArtifactEntity
    artifactActionPerformed: EventEmitter<{ action: string; artifactId: string }> = ...
    artifactClicked: EventEmitter<{ artifactId: string; versionId?: string }> = ...
    artifacts: MessageArtifactRef[] = []

    All distinct artifacts attached to this message, each at its latest version. Preferred over the single artifact/artifactVersion inputs above (which are retained for backward compatibility and kept pointed at the first entry).

    artifactVersion?: MJArtifactVersionEntity
    attachmentClicked: EventEmitter<MessageAttachment> = ...
    attachments: MessageAttachment[] = []
    beforeResponseFormSubmitted: EventEmitter<BeforeResponseFormSubmittedEventArgs> = ...

    Cancelable — fired BEFORE the response form's values are sent back as a new conversation message. Listeners may set event.Cancel = true to halt the submission (e.g., a validation pass that finds required fields unfilled). When canceled, the corresponding afterResponseFormSubmitted event is NOT fired and suggestedResponseSelected is NOT emitted. Follows MJ's established Before/After cancelable event pattern.

    conversation: MJConversationEntity | null
    currentUser: UserInfo
    deleteClicked: EventEmitter<MJConversationDetailEntity> = ...
    detailTasks: MJTaskEntity[] = []
    diagnosticRequested: EventEmitter<string> = ...
    editClicked: EventEmitter<MJConversationDetailEntity> = ...
    editedText: string = ''
    isAgentDetailsExpanded: boolean = false
    isEditing: boolean = false
    isLastMessage: boolean = false
    isProcessing: boolean = false
    messageEdited: EventEmitter<MJConversationDetailEntity> = ...
    messageExtraTemplate: TemplateRef<unknown> | null = null

    Optional additive per-message slot template (forwarded from chat-area's mjChatSlot="messageExtra"). Rendered inside the bubble after the message content, before attachments. Receives the message as $implicit + a named message context binding. Null when no consumer template is projected.

    messagePinToggled: EventEmitter<MJConversationDetailEntity> = ...
    openEntityRecord: EventEmitter<
        { compositeKey: CompositeKey; entityName: string },
    > = ...
    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.

    ratings?: RatingJSON[]
    retryClicked: EventEmitter<MJConversationDetailEntity> = ...
    showAgentRunDetails: boolean = true

    Show the per-message agent run-detail grid (run ID, step/token counts, $ cost).

    showMessageRating: boolean = true

    Show the per-message thumbs rating control on completed AI messages.

    showReactions: boolean = true

    Show the per-message reaction buttons (like / comment).

    suggestedResponseSelected: EventEmitter<{ customInput?: string; text: string }> = ...
    testFeedbackClicked: EventEmitter<MJConversationDetailEntity> = ...
    userAvatarMap: Map<
        string,
        { iconClass: string
        | null; imageUrl: string | null },
    > = ...
    "ɵ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

    • A callback method that is invoked immediately after the default change detector has checked data-bound properties if at least one has changed, and before the view and content children are checked.

      Parameters

      • _changes: { [propName: string]: SimpleChange<any> }

      Returns void