@alfresco/adf-content-services
Version:
Alfresco ADF content services
79 lines (78 loc) • 3.27 kB
TypeScript
import { ContentApi, RenditionEntry, RenditionsApi, VersionsApi } from '@alfresco/js-api';
import { Track, TranslationService, ViewUtilService } from '@alfresco/adf-core';
import { AlfrescoApiService } from '../../services/alfresco-api.service';
import * as i0 from "@angular/core";
export declare class RenditionService {
private apiService;
private translateService;
private viewUtilsService;
static TARGET: string;
/**
* Content groups based on categorization of files that can be viewed in the web browser. This
* implementation or grouping is tied to the definition the ng component: ViewerRenderComponent
*/
static ContentGroup: {
IMAGE: string;
MEDIA: string;
PDF: string;
TEXT: string;
};
/**
* The name of the rendition with the media subtitles in the supported format
*/
static SUBTITLES_RENDITION_NAME: string;
/**
* Based on ViewerRenderComponent Implementation, this value is used to determine how many times we try
* to get the rendition of a file for preview, or printing.
*/
maxRetries: number;
/**
* Timeout used for setInterval.
*/
private TRY_TIMEOUT;
_renditionsApi: RenditionsApi;
get renditionsApi(): RenditionsApi;
_contentApi: ContentApi;
get contentApi(): ContentApi;
_versionsApi: VersionsApi;
private DEFAULT_RENDITION;
get versionsApi(): VersionsApi;
constructor(apiService: AlfrescoApiService, translateService: TranslationService, viewUtilsService: ViewUtilService);
getRenditionUrl(nodeId: string, type: string, renditionExists: boolean): string;
private waitRendition;
private wait;
getRendition(nodeId: string, renditionId: string): Promise<RenditionEntry>;
getNodeRendition(nodeId: string, versionId?: string): Promise<{
url: string;
mimeType: string;
}>;
private resolveNodeRendition;
private requestCreateRendition;
private findRenditionById;
private waitNodeRendition;
private handleNodeRendition;
generateMediaTracksRendition(nodeId: string): Promise<Track[]>;
private isRenditionAvailable;
/**
* This method takes a url to trigger the print dialog against, and the type of artifact that it
* is.
* This URL should be one that can be rendered in the browser, for example PDF, Image, or Text
*
* @param url url to print
* @param type type of the rendition
*/
printFile(url: string, type: string): void;
/**
* Launch the File Print dialog from anywhere other than the preview service, which resolves the
* rendition of the object that can be printed from a web browser.
* These are: images, PDF files, or PDF rendition of files.
* We also force PDF rendition for TEXT type objects, otherwise the default URL is to download.
* TODO there are different TEXT type objects, (HTML, plaintext, xml, etc. we should determine how these are handled)
*
* @param objectId object it
* @param mimeType mime type
*/
printFileGeneric(objectId: string, mimeType: string): void;
static ɵfac: i0.ɵɵFactoryDeclaration<RenditionService, never>;
static ɵprov: i0.ɵɵInjectableDeclaration<RenditionService>;
}