Member Junction
    Preparing search index...

    Top-level workspace component for conversations Provides 3-column Slack-style layout: Navigation | Sidebar | Chat Area | Artifact Panel Supports context-based navigation (library or task views)

    Use ChatConversationsResource from @memberjunction/ng-explorer-core instead. This component is maintained for backwards compatibility but the resource-wrapper pattern is the preferred approach for MJExplorer integration.

    Hierarchy (View Summary)

    Implements

    • OnInit
    • OnDestroy
    • DoCheck
    Index

    Constructors

    Properties

    Accessors

    Methods

    Constructors

    Properties

    actionableCommandExecuted: EventEmitter<ActionableCommand> = ...
    activeArtifactId: string | null = null
    activeContext?: "task" | "library"
    activeTab: NavigationTab = 'conversations'
    activeVersionId: string | null = null
    activeVersionNumber: number | null = null
    artifactOpened: EventEmitter<MJArtifactEntity> = ...
    artifactPanelWidth: number = 40
    artifactState: ArtifactStateService
    artifactToShare: MJArtifactEntity | null = null
    automaticCommandExecuted: EventEmitter<AutomaticCommand> = ...
    canEditActiveArtifact: boolean = false
    canShareActiveArtifact: boolean = false
    collectionState: CollectionStateService
    contextItemId?: string
    conversationChanged: EventEmitter<MJConversationEntity> = ...
    currentUser: UserInfo
    environmentId: string
    initialConversationId?: string
    isArtifactPanelMaximized: boolean = false
    isArtifactPanelOpen: boolean = false
    isArtifactShareModalOpen: boolean = false
    isMobileView: boolean = false
    isNewUnsavedConversation: boolean = false
    isSearchPanelOpen: boolean = false
    isSidebarCollapsed: boolean = true
    isSidebarPinned: boolean = false
    isSidebarSettingsLoaded: boolean = false
    isSidebarVisible: boolean = true
    isWorkspaceReady: boolean = false
    layout: WorkspaceLayout = 'full'
    navigationChanged: EventEmitter<
        {
            collectionId?: string;
            conversationId?: string;
            tab: "conversations"
            | "collections"
            | "tasks";
            taskId?: string;
            versionId?: string;
        },
    > = ...
    navigationRequested: EventEmitter<NavigationRequest> = ...
    newConversationStarted: EventEmitter<void> = ...
    pendingArtifactConversationId: string | null = null
    pendingArtifactId: string | null = null
    pendingArtifactVersionNumber: number | null = null
    pendingAttachmentsToSend: PendingAttachment[] | null = null
    pendingMessageConversationId: string | null = null

    The conversation pendingMessageToSend is destined for — bound to the chat-area so the auto-send reaches only that conversation's input, even if the user swaps conversations during the async send window (prevents the message bleeding into the swapped-to conversation).

    pendingMessageToSend: string | null = null
    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.

    renamedConversationId: string | null = null
    selectedConversation: MJConversationEntity | null = null
    selectedConversationId: string | null = null
    selectedThreadId: string | null = null
    ShowRoutines: boolean = true

    Show the Routines section at the very bottom of the left sidebar. Default true; hosts that don't want routines (or embed a reduced chat surface) set false. The section additionally hides itself when the current user lacks Read permission on 'MJ: User Routines'.

    sidebarTransitionsEnabled: boolean = false
    sidebarWidth: number = 260
    tasksFilter: string = '1=1'
    "ɵ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

    • Apply-to-my-form handler. This deprecated workspace component is no longer the live chat surface — the real handler lives on ConversationChatAreaComponent. This stub exists only so the template binding compiles. New consumers should use the resource components in @memberjunction/ng-explorer-core instead of this workspace.

      Parameters

      • _event: { entityName: string; spec: unknown }

      Returns void

    • Handle navigation from artifact links

      Parameters

      • event: {
            artifactId?: string;
            id: string;
            type: "conversation" | "collection";
            versionId?: string;
            versionNumber?: number;
        }

      Returns void

    • A realtime session created (and just finished with) a brand-new conversation. The row was created SERVER-side, so it isn't in the engine cache yet — reload the list to fold it in, then select it ONLY when the conversation list is visible (owner spec: the user may have the sidebar hidden; don't yank their context if so — the refreshed cache makes it appear whenever the list is reopened).

      Parameters

      • event: { conversationId: string; select: boolean }

      Returns Promise<void>