Member Junction
    Preparing search index...

    Base class for all Angular components in the MemberJunction system.

    Hierarchy (View Summary)

    Implements

    • OnInit
    • OnChanges
    • OnDestroy
    Index

    Constructors

    Properties

    Accessors

    Methods

    Constructors

    Properties

    ActiveTab: string = 'display'
    AllCollections: MJCollectionEntity[] = []
    AllVersions: MJArtifactVersionEntity[] = []
    analyzeRequested: EventEmitter<{ artifactId: string; snapshot: DataSnapshot }> = ...

    Use AnalyzeRequested.

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

    AnalyzeRequested: EventEmitter<{ artifactId: string; snapshot: DataSnapshot }> = ...
    applyFormRequested: EventEmitter<{ entityName: string; spec: unknown }> = ...

    Use ApplyFormRequested.

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

    ApplyFormRequested: EventEmitter<{ entityName: string; spec: unknown }> = ...

    "Apply to my form" — bubbled from the form-aware component-artifact-viewer branch. Carries the spec + entity. Consumer (chat message card, etc.) confirms and invokes the Create-or-Modify Interactive Form action.

    Artifact: MJArtifactEntity | null = null
    ArtifactCollections: MJCollectionArtifactEntity[] = []
    ArtifactIcon: string = 'fa-file'

    Cached icon class — set once after artifact loads to avoid mid-cycle flicker

    artifactId: string
    artifactVersion: MJArtifactVersionEntity | null = null
    canEdit?: boolean
    canShare?: boolean
    closed: EventEmitter<void> = ...

    Use Closed.

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

    Closed: EventEmitter<void> = ...
    ContextCollectionId?: string
    CurrentUser: UserInfo
    CurrentVersionCollections: MJCollectionArtifactEntity[] = []
    DisplayHtml: string | null = null
    DisplayMarkdown: string | null = null
    EnvironmentId: string
    error: string | null = null
    FallbackBusy: boolean = false
    FallbackText: string | null = null

    The no-plugin fallback. An artifact type with no viewer plugin (CSV today) used to render an empty pane: the display tab only knew the extracted markdown/HTML attributes, and a file-backed version has no inline Content to show. Now such an artifact gets a file card with a Download action, and text-like content (text/*, JSON, CSV) is fetched and shown as plain text — capped, so a large file is downloaded rather than rendered.

    FallbackTextTruncated: boolean = false
    HasAccessToOriginConversation: boolean = false
    isLoading: boolean = true
    IsMaximized: boolean = false
    JsonContent: string = ''
    maximizeToggled: EventEmitter<void> = ...

    Use MaximizeToggled.

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

    MaximizeToggled: EventEmitter<void> = ...
    navigateToLink: EventEmitter<
        {
            artifactId?: string;
            id: string;
            type: "conversation"
            | "collection";
            versionId?: string;
            versionNumber?: number;
        },
    > = ...

    Use NavigateToLink.

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

    NavigateToLink: EventEmitter<
        {
            artifactId?: string;
            id: string;
            type: "conversation"
            | "collection";
            versionId?: string;
            versionNumber?: number;
        },
    > = ...
    navigationRequest: EventEmitter<NavigationRequest> = ...
    openEntityRecord: EventEmitter<
        { compositeKey: CompositeKey; entityName: string },
    > = ...

    Use OpenEntityRecord.

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

    OpenEntityRecord: EventEmitter<
        { compositeKey: CompositeKey; entityName: string },
    > = ...
    OriginConversation: MJConversationEntity | null = null
    OriginConversationVersionId: string | null = null
    PluginVisibleVersionNumbers: number[] | null = null

    Version numbers of the listed versions, handed to the viewer plugin; null when the viewer has no scope.

    PrimaryCollection: MJCollectionEntity | 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.

    RefreshTrigger?: Subject<{ artifactId: string; versionNumber: number }>
    saveToCollectionRequested: EventEmitter<
        { artifactId: string; excludedCollectionIds: string[] },
    > = ...

    Use SaveToCollectionRequested.

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

    SaveToCollectionRequested: EventEmitter<
        { artifactId: string; excludedCollectionIds: string[] },
    > = ...
    Scope: ConversationScope | null = null

    The conversation path whose versions the viewer lists. With a scope, the version list holds the versions linked from a message on that path plus versions made outside any conversation; null lists every version. Ignored in collection context.

    ScopeNotice: string | null = null

    One line shown above the content when the requested version is not in the scope; null otherwise.

    SelectedVersionNumber: number = 1
    shareRequested: EventEmitter<string> = ...

    Use ShareRequested.

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

    ShareRequested: EventEmitter<string> = ...
    ShowCloseButton: boolean = true
    ShowHeader: boolean = true
    ShowMaximizeButton: boolean = true
    ShowSaveToCollection: boolean = true
    ShowTabs: boolean = true
    ShowVersionDropdown: boolean = false
    VersionAttributes: MJArtifactVersionAttributeEntity[] = []
    VersionNumber?: number
    ViewContext: "conversation" | "collection" | null = null
    "ɵdir": unknown
    "ɵfac": ɵɵFactoryDeclaration<BaseAngularComponent, never>

    Accessors

    • get LinksToShow(): {
          hasAccess: boolean;
          id: string;
          name: string;
          type: "conversation"
          | "collection";
      }[]

      Returns {
          hasAccess: boolean;
          id: string;
          name: string;
          type: "conversation" | "collection";
      }[]

    • 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

    • Get resolved tab content for string-based tabs (non-component tabs). For component tabs, use GetTabDefinition() and render the component directly.

      Parameters

      • tabName: string

      Returns { content: string; language?: string; type: string } | null

    • 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> }

        The changed properties.

      Returns Promise<void>

    • 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 Promise<void>

    • Parameters

      • link: {
            hasAccess: boolean;
            id: string;
            name: string;
            type: "conversation" | "collection";
        }

      Returns void

      Use OnNavigateToLink.

    • Navigate to a linked conversation or collection

      Parameters

      • link: {
            hasAccess: boolean;
            id: string;
            name: string;
            type: "conversation" | "collection";
        }

      Returns void

    • Reload the cached set of collections that contain the current version of this artifact. Called by the chat-area after the collection picker reports successful saves so the bookmark icon and "already saved" exclusion list refresh without a full artifact reload.

      Returns Promise<void>

    • Parameters

      • collectionIds: string[]

      Returns Promise<boolean>

      Writes are now owned by the picker modal so the dialog can render per-collection progress and partial-failure UI. Kept for any external consumer that still calls it; new code should pass artifactVersionId to the picker and listen for its completed event.