Member Junction
    Preparing search index...

    Class VideoProductionArtifactPreviewComponent

    Compact card preview for Video Production artifacts. When Output.Videos has at least one rendered format, renders a compact <mj-storage-media-player> of the first rendered format; when no Output exists yet, renders the current production status line.

    Hierarchy (View Summary)

    Implements

    • OnInit
    Index

    Constructors

    Properties

    artifactVersion: MJArtifactVersionEntity

    The artifact version to preview. Set by the resolver before the component renders.

    fileService: ArtifactFileService = ...

    Shared service used by both previews and full viewers to fetch file-mode download URLs.

    FirstVideoFileID: string | null = null
    HasGeneratedAssets: boolean = false
    isLoading: boolean = true

    True until resolveContentUrl has settled, one way or the other.

    Owned here, not per subclass, so that every media preview has a loading state by construction. Each preview used to carry its own copy of this flag — or, before that, no loading branch at all, which rendered nothing while the URL resolved and made a generated image read as "never arrived". resolveContentUrl is async even for inline content, and for ContentMode === 'File' it is a network round trip before the media fetch even starts.

    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.

    Spec: VideoGenerationSpec | null = null
    "ɵ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

    • Resolve a URL to bind to a media element (<img>, <video>, <audio>):

      • ContentMode === 'File' → fetch a pre-authenticated download URL from MJStorage.
      • otherwise ('Text') → Content is already a data:<mime>;base64,… URI; bind directly.

      Returns null when there is no usable content (caller should show its own empty/error state). Clears isLoading on every exit, including a throw, so a subclass cannot leave the indicator spinning beside an error.

      Returns Promise<string | null>