Member Junction
    Preparing search index...

    Base class for application definitions in MemberJunction Explorer.

    Applications can extend this class to provide dynamic behavior for navigation items, colors, default tabs, and lifecycle hooks.

    import { RegisterClass } from '@memberjunction/global';

    @RegisterClass(BaseApplication, 'CRMApplication')
    export class CRMApplication extends BaseApplication {
    override GetNavItems(): NavItem[] {
    const items = super.GetNavItems();
    // Add dynamic items based on permissions
    return items;
    }
    }

    Hierarchy (View Summary)

    Index

    Constructors

    Properties

    AutoUpdatePath: boolean = true

    When true, Path is automatically generated from Name on save

    ClassName: string = ''

    TypeScript class name for ClassFactory

    Color: string = ''

    Hex color code for theming

    DefaultNavItems: string = ''

    JSON string of default navigation items

    DefaultSequence: number = 100

    Default sequence position when adding to new user's User Applications

    Description: string = ''

    Application description

    HideNavBarIconWhenActive: boolean = false

    When true, hide the Nav Bar icon when this application is active

    Icon: string = ''

    Font Awesome icon class

    ID: string = ''

    Application ID from database

    Name: string = ''

    Application name

    NavigationStyle: "App Switcher" | "Nav Bar" | "Both" = 'App Switcher'

    How the application appears in navigation

    Path: string = ''

    URL-friendly slug for the application (e.g., "data-explorer" for "Data Explorer")

    Status: "Active" | "Pending" | "Disabled" | "Deprecated" = 'Active'

    Application lifecycle status - only Active apps are shown to users

    TopNavLocation: "Left of App Switcher" | "Left of User Menu" | null = null

    Position of permanent nav icon when NavigationStyle is Nav Bar or Both

    Accessors

    Methods

    • Creates the default tab request when user switches to this app. If app has navigation items, uses the first nav item. If app has no nav items, loads the first available dashboard preference for this app. Override in subclass for custom default tab logic.

      Returns Promise<TabRequest | null>

    • Returns the application color for theming. Override in subclass for dynamic color based on context.

      Returns string

    • Returns navigation items for this application. Override in subclass for dynamic behavior based on permissions, context, etc.

      Returns Promise<NavItem[]>

    • Called to check if user has permission for a specific action. Override in subclass for permission checks.

      Parameters

      • action: string

      Returns boolean

    • Called when this application becomes the active app. Override in subclass for custom initialization logic.

      Returns Promise<void>

    • Called when user navigates away from this application. Override in subclass for cleanup logic.

      Returns Promise<void>