UNPKG

@mescius/dspdfviewer

Version:
94 lines (92 loc) 3.78 kB
//@ts-ignore import React, { Component, KeyboardEvent } from 'react'; import GcPdfViewer from ".."; /// <reference path="../vendor/i18next.d.ts" /> //@ts-ignore import { i18n } from 'i18next'; import { PdfOrganizerDialogProps, PdfOrganizerModel, RangeInfo } from './types'; import { SaveSettings } from '../Models/ViewerTypes'; import { ExternalPdfManager } from '../Core/ExternalPdfManager'; import { RangeDragDropHelper } from './RangeDragDropHelper'; /** * PDF Organizer dialog. **/ export declare class PdfOrganizerDialog extends Component<PdfOrganizerDialogProps, PdfOrganizerModel> { /** * The root DOM element identifier prefix. * The resulting DOM element ID will be `#${ROOT_ID_PREFIX}_${viewer.instanceId}`. **/ static readonly ROOT_ID_PREFIX: string; static readonly MAX_RANGE_EMPTY_PAGES_COUNT: number; private _hidePromise?; private _resolve?; private _thumbsPromiseQueue; private _viewer; state: { enabled: boolean; showModal: boolean; isChanged: boolean; ranges: RangeInfo[]; workInProgress: boolean; }; private _fileInput?; private _externalPdfManager; private _dialogContentElem; private _addRangeDropdown; private _mounted; private _rangeDragDropHelper; componentDidMount(): void; componentWillUnmount(): void; get externalPdfManager(): ExternalPdfManager; get fileInput(): HTMLInputElement; get ranges(): RangeInfo[]; selectPdfFileForMerge(): void; addRange(startIndex: number, endIndex: number, fileId: string, fileName: string, filePagesCount: number, angle?: number): void; removeRange(rangeIndex: number): void; cloneRange(rangeIndex: number): void; splitRangeByPages(rangeIndex: number): void; movePagesRange(sourceRangeIndex: number, moveIndex: number): void; rotateRange(rangeIndex: number, angleDeg: number): void; getSaveSettings(downloadOnly?: boolean): SaveSettings; /** * Shows the 'PDF Organizer' dialog box. * @param viewer */ show(viewer: GcPdfViewer): Promise<void>; fillRangesByPageSizeOrOrient(ranges: RangeInfo[], startIndex?: number): RangeInfo[]; /** * Apply changes, reload document and close dialog. **/ applyChanges(closeDialog?: boolean): Promise<boolean>; downloadChangedDocument(): Promise<void>; /** * Hides the dialog * */ hide(): void; setDirtyValue(rangeIndex: number, dirtyValue: string): void; resetDirtyValue(rangeIndex: number): void; applyDirtyValue(rangeIndex: number, resetOnError?: boolean): void; //@ts-ignore //@ts-ignore render(): React.JSX.Element | null; get isDirty(): boolean; getRangeInfoTitle(range: RangeInfo): string; get rangeDragDropHelper(): RangeDragDropHelper; //@ts-ignore renderRanges(): JSX.Element | null; confirmRanges(ranges: RangeInfo[], newRangesCount: number): boolean; addRanges(type: "PageSizeOrOrient" | "AllPages" | "SinglePages" | "EmptyPage" | "Odd" | "Even" | "Custom", customPages?: string): void; getAddRangeDDItems(): any[]; findCustomRangeInput(event: any): HTMLInputElement; onCustomRangeInputKeyDown(event: KeyboardEvent<HTMLInputElement>): void; onRangeInputKeyDown(event: KeyboardEvent<HTMLInputElement>, rangeIndex: number): void; applyCustomRangeValue(event: any): void; //@ts-ignore renderRangeActions(): JSX.Element | null; clearRanges(): void; private _onPdfPicked; private loadThumbImages; clearThumbsQueue(): void; enqueueThumbImage(div: HTMLElement, fileId: string, pageIndex: number, rangeAngle: number): void; private _resolveHidePromise; get in17n(): i18n; }