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

    clearNewConversationState ClearNewConversationState closeArtifactPanel CloseArtifactPanel closeSearch CloseSearch closeSidebar CloseSidebar collapseSidebar CollapseSidebar expandSidebar ExpandSidebar handleSearchResult HandleSearchResult ngDoCheck ngOnDestroy ngOnInit onActionableCommand OnActionableCommand onApplyFormRequested OnApplyFormRequested onArtifactLinkNavigation OnArtifactLinkNavigation onArtifactPanelResizeStart OnArtifactPanelResizeStart onArtifactPanelResizeTouchStart OnArtifactPanelResizeTouchStart onArtifactShared OnArtifactShared onArtifactShareModalClose OnArtifactShareModalClose onArtifactShareRequested OnArtifactShareRequested onAutomaticCommand OnAutomaticCommand onCollectionNavigated OnCollectionNavigated onConversationCreated OnConversationCreated onConversationRenamed OnConversationRenamed onConversationSelected OnConversationSelected onDocumentClick onNavigationRequest OnNavigationRequest onOpenEntityRecord OnOpenEntityRecord onOpenEntityRecordFromTasks OnOpenEntityRecordFromTasks onPendingMessageRequested onRealtimeConversationReady OnRealtimeConversationReady onRefreshAgentCache OnRefreshAgentCache onSidebarResizeStart OnSidebarResizeStart onSidebarResizeTouchStart OnSidebarResizeTouchStart onTabChanged OnTabChanged onTaskClicked OnTaskClicked onWindowResize openSearch OpenSearch pinSidebar PinSidebar setActiveConversation SetActiveConversation startNewConversation StartNewConversation toggleMaximizeArtifactPanel ToggleMaximizeArtifactPanel toggleSidebar ToggleSidebar unpinSidebar UnpinSidebar

    Constructors

    Properties

    actionableCommandExecuted: EventEmitter<ActionableCommand> = ...

    Use ActionableCommandExecuted.

    The same emitter under the old binding name, so a template still binding (actionableCommandExecuted) keeps working. Must stay AFTER ActionableCommandExecuted: class fields initialise in order, and the other way round this captures undefined.

    ActionableCommandExecuted: EventEmitter<ActionableCommand> = ...
    ActiveArtifactId: string | null = null
    ActiveContext?: "task" | "library"
    ActiveTab: NavigationTab = 'conversations'
    ActiveVersionId: string | null = null
    ActiveVersionNumber: number | null = null
    artifactOpened: EventEmitter<MJArtifactEntity> = ...

    Use ArtifactOpened.

    The same emitter under the old binding name, so a template still binding (artifactOpened) keeps working. Must stay AFTER ArtifactOpened: class fields initialise in order, and the other way round this captures undefined.

    ArtifactOpened: EventEmitter<MJArtifactEntity> = ...
    ArtifactPanelWidth: number = 40
    ArtifactState: ArtifactStateService
    ArtifactToShare: MJArtifactEntity | null = null
    automaticCommandExecuted: EventEmitter<AutomaticCommand> = ...

    Use AutomaticCommandExecuted.

    The same emitter under the old binding name, so a template still binding (automaticCommandExecuted) keeps working. Must stay AFTER AutomaticCommandExecuted: class fields initialise in order, and the other way round this captures undefined.

    AutomaticCommandExecuted: EventEmitter<AutomaticCommand> = ...
    CanEditActiveArtifact: boolean = false
    CanShareActiveArtifact: boolean = false
    CollectionState: CollectionStateService
    ContextItemId?: string
    conversationChanged: EventEmitter<MJConversationEntity> = ...

    Use ConversationChanged.

    The same emitter under the old binding name, so a template still binding (conversationChanged) keeps working. Must stay AFTER ConversationChanged: class fields initialise in order, and the other way round this captures undefined.

    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<
        {
            branchId?: string
            | null;
            collectionId?: string;
            conversationId?: string;
            sequence?: number;
            tab: "conversations" | "collections" | "tasks";
            taskId?: string;
            versionId?: string;
        },
    > = ...

    Use NavigationChanged.

    The same emitter under the old binding name, so a template still binding (navigationChanged) keeps working. Must stay AFTER NavigationChanged: class fields initialise in order, and the other way round this captures undefined.

    NavigationChanged: EventEmitter<
        {
            branchId?: string
            | null;
            collectionId?: string;
            conversationId?: string;
            sequence?: number;
            tab: "conversations" | "collections" | "tasks";
            taskId?: string;
            versionId?: string;
        },
    > = ...
    navigationRequested: EventEmitter<NavigationRequest> = ...

    Use NavigationRequested.

    The same emitter under the old binding name, so a template still binding (navigationRequested) keeps working. Must stay AFTER NavigationRequested: class fields initialise in order, and the other way round this captures undefined.

    NavigationRequested: EventEmitter<NavigationRequest> = ...
    newConversationStarted: EventEmitter<void> = ...

    Use NewConversationStarted.

    The same emitter under the old binding name, so a template still binding (newConversationStarted) keeps working. Must stay AFTER NewConversationStarted: class fields initialise in order, and the other way round this captures undefined.

    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
    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'

    The user's own top-level tasks; the Tasks tab's fallback filter (see TasksFilterResolver).

    "ɵdir": unknown
    "ɵfac": ɵɵFactoryDeclaration<BaseAngularComponent, never>

    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 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: "collection" | "conversation";
            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>