import { EventEmitter, OnChanges, OnDestroy, OnInit, SimpleChanges } from '@angular/core'; import { Subscription } from 'rxjs'; import { ValueByPipe } from '../pipes/valueBy'; import { SCDropzone, SCDropzoneEvent } from '../sc-dropzone/sc-dropzone.component'; import { SCPDFViewerAction, SCPDFViewerActionEvent } from '../sc-pdf-viewer/sc-pdf-viewer.component'; import { SCDocumentViewerService } from './sc-document-viewer.service'; import * as i0 from "@angular/core"; export interface SCDocument { id: number; document_category: SCDocumentCategory; document_name: string; fields?: SCDocumentField[]; document_date: string; document_type: string; foreign_id: number; subject: SCDocumentSubject; dms_document_id: number; dms_document: SCDMSDocumentData; version: number; versions: SCDMSDocumentData[]; } export interface SCDocumentField { id: number; field_value: string; document_category_field: SCDocumentCategoryField; } export interface SCDocumentCategory { id: number; category_name: string; documents: SCDocument[]; fields?: SCDocumentCategoryField[]; subject: SCDocumentSubject; sub_categories?: SCDocumentSubCategory[]; amountOfDocuments: number; } export interface SCDocumentCategoryField { id: number; field_type: string; field_length: number; field_display_name: string; field_value: string; } export interface SCDocumentSubject { id: number; subject_table: string; dms_folder_id: number; } export interface SCDocumentSubjectFolder { id: number; } export interface SCDMSDocumentData { id: number; main_id?: number; name: string; date: string; type: string; comment: string; keywords: string; mimetype: string; version: number; size: string; files: SCDMSDocumentFile[]; sub_categories: SCDocumentSubCategory[]; } export interface SCDMSDocumentVersion { id: number; name: string; date: string; type: string; comment: string; keywords: string; mimetype: string; version: number; size: string; files: any; sub_categories: any; } export interface SCDMSDocumentFile { id: number; main_id: number; name: string; date: string; mimetype: string; comment: string; } export interface SCDocumentSubCategory { id: number; sub_category_name: string; files: SCDMSDocumentFile[]; is_visible_overall: boolean; } export interface SCDocumentViewerConfig { baseUrl?: string; documentSaveUrl: string; documentUrl: string; documentFileUrl: string; documentUploadUrl?: string; documentUploadFileUrl?: string; documentDeleteUrl?: string; documentDeleteFileUrl?: string; documentCategoriesUrl?: string; documentsForCategorieUrl?: string; documentPlaceholder: { placeholder: string; valueBy: string; } | string; documentMainPlaceholder: { placeholder: string; valueBy: string; } | string; documentFilePlaceholder: { placeholder: string; valueBy: string; } | string; documentVersionPlaceholder?: string; documentSubjectPlaceholder?: string; documentCategoryPlaceholder?: string; documentVersionsUrl?: string; } export interface SCDocumentViewerTextConfig { dialogEditTitel: string; dialogAddTitle: string; dialogEditBasicsTitle: string; dialogAddDocument: string; dialogDropDocument: string; dialogSaveButton: string; dialogCloseButton: string; contextMenuEdit: string; contextMenuShowNewWindow: string; contextMenuShowVersion: string; dialogVersionTitle: string; dialogDocumentName: string; dialogDocumentType: string; versionInfo: string; searchText: string; loadMore: string; } export interface SCDocumentViewerConfigData { documentId?: string; documentMainId?: string; documentFileId?: string; documentVersionId?: string; documentSubjectId?: string; documentCategoryId?: string; documentSubCategoryId?: string; } export interface SCDocumentViewerAction { label: string; index: string; icon?: string; matIcon?: string; fontIcon?: string; action?: 'download' | 'delete'; } export interface SCDocumentViewerActionEvent { event: MouseEvent; action: SCDocumentViewerAction; file: SCDMSDocumentData; isFile: boolean; } export interface SCDocumentViewerFilesEvent { files: FileList; category: SCDocumentSubCategory; } export declare class SCDocumentViewerComponent implements OnInit, OnChanges, OnDestroy { private service; private valueByPipe; document: SCDocument; config: SCDocumentViewerConfig; textConfig: SCDocumentViewerTextConfig; src: Blob; handleActions: boolean; handleUpload: boolean; fileActions: SCDocumentViewerAction[]; documentActions: SCDocumentViewerAction[]; pdfActions: SCPDFViewerAction[]; uploadIcon: string; matUploadIcon: string; fontUploadIcon: string; fileToShow: Blob; selectedFile: SCDMSDocumentData; disableDrageEvent: boolean; fileSelected: EventEmitter; actionClicked: EventEmitter; fileUploaded: EventEmitter; pdfActionClicked: EventEmitter; filesChanged: EventEmitter; dropzones: SCDropzone[]; fileType: string; getFileSub: Subscription; isDownloading: boolean; constructor(service: SCDocumentViewerService, valueByPipe: ValueByPipe); ngOnInit(): void; ngOnChanges(event: SimpleChanges): void; ngOnDestroy(): void; getFile(dmsDocument: SCDMSDocumentData, isFile?: boolean, isExternalFile?: boolean): void; getDmsDocumentUrl(dmsDocument: SCDMSDocumentData, isFile: boolean, urlType?: 'download' | 'upload' | 'delete', isExternalFile?: boolean): string; handleDocumentClicked(event: MouseEvent, dmsDocument: SCDMSDocumentData, isFile: boolean): void; handleButtonClicked(event: MouseEvent): void; handleUploadButtonClicked(event: MouseEvent, inputEl: HTMLInputElement): void; handleFilesDropped(event: SCDropzoneEvent): void; handleFilesChanged(event: any, category: SCDocumentSubCategory): void; handleFiles(files: FileList, category: SCDocumentSubCategory, isFile: boolean): void; handleActionClicked(event: MouseEvent, action: SCDocumentViewerAction, file: SCDMSDocumentData, isFile: boolean): void; handlePDFActionClicked(event: SCPDFViewerActionEvent): void; downloadFile(dmsDocument: SCDMSDocumentData, isFile?: boolean): void; downloadFileHelper(data: Blob, name: string): void; deleteFile(dmsDocument: SCDMSDocumentData, isFile?: boolean): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }