Member Junction
    Preparing search index...

    Base class for all Angular components in the MemberJunction system.

    Hierarchy (View Summary)

    Implements

    • OnInit
    • OnDestroy
    Index

    Constructors

    Properties

    AppContextSnapshot: AppContextSnapshot | null = null

    Application context snapshot for AI agent awareness — updated on every app/tab transition

    authBase: MJAuthBase
    document: Document
    ErrorMessage: string = ''
    HasError: boolean = false
    initialPath: string = '/'
    IsChatOverlayReady: boolean = false

    Suppresses chat overlay during initial app load — set true after workspace initializes

    isChatRoute: boolean = false

    True when the current route is the full Conversations/Chat workspace — hides the chat overlay

    IsDarkMode: boolean = false

    Tracks whether the login page is in dark mode

    isOAuthCallback: boolean = false

    True when the current URL is the OAuth callback route - used for conditional rendering

    preShellBlocked: boolean = false

    Whether a pre-shell guard overlay is blocking the shell

    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.

    showValidationOnly: boolean = false
    SigningIn: boolean = false

    True while a sign-in is being initiated, so the picker cannot start two at once.

    subHeaderText: string = MJExplorerAppComponent.DefaultSubHeaderText
    title: string = 'MJ Explorer'
    "ɵdir": unknown
    "ɵfac": ɵɵFactoryDeclaration<BaseAngularComponent, never>

    Accessors

    • get ChatOverlayTopBoundaryPx(): number

      Top boundary (in px) the chat overlay bubble cannot be dragged past. The shell-header is 60px tall, but if the server-connectivity banner is showing it sits above the shell-header and pushes everything down. The banner component publishes its height to --mj-connectivity-banner-height on <html>, so we add it in. Re-evaluated on every change-detection pass — Angular's animation events fire CD when the banner show/hides finish.

      Returns number

    • get ProviderPickerLede(): string | null

      Lede rendered above the provider picker.

      A real auth status message (expired session, provider error) always wins — a failure the user needs to see must never be displaced by static copy.

      Absent one, this is Login C's lede, which C marks multi-only: it explains that there is a choice to make, so it is suppressed when there is exactly one provider and nothing to choose.

      Returns string | null

    • 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

    • A callback method that is invoked immediately after the default change detector has checked the directive's data-bound properties for the first time, and before any of the view or content children have been checked. It is invoked only once when the directive is instantiated.

      Returns void

    • Starts sign-in with the provider the user picked.

      Choosing the provider already wired into DI logs in immediately. Choosing a different one requires a reload: each browser SDK contributes its Angular providers (interceptors, guards, config tokens) at module-definition time, so the injector cannot be re-composed in place. The choice is persisted first, and the reloaded app both bootstraps that provider and starts its login flow automatically — so the user experiences one click, not two.

      Parameters

      Returns void

    • Handle "open full chat workspace" from the chat overlay — navigate to the Conversations tab with the active conversation

      Parameters

      • conversationId: string | null

      Returns void