@grapecity/gcpdfviewer
Version:
GcDocs PDF Viewer
84 lines (83 loc) • 3.7 kB
TypeScript
/// <reference path="../vendor/react/react.d.ts" />
//@ts-ignore
import React, { Component, KeyboardEvent } from 'react';
import GcPdfViewer from "..";
//@ts-ignore
import { DropdownItem } from '@grapecity/core-ui';
/// <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';
export declare class PdfOrganizerDialog extends Component<PdfOrganizerDialogProps, PdfOrganizerModel> {
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;
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;
show(viewer: GcPdfViewer): Promise<void>;
fillRangesByPageSizeOrOrient(ranges: RangeInfo[], startIndex?: number): RangeInfo[];
applyChanges(closeDialog?: boolean): Promise<boolean>;
downloadChangedDocument(): Promise<void>;
hide(): void;
setDirtyValue(rangeIndex: number, dirtyValue: string): void;
resetDirtyValue(rangeIndex: number): void;
applyDirtyValue(rangeIndex: number, resetOnError?: boolean): void;
render(): React.JSX.Element | null;
get isDirty(): boolean;
getRangeInfoTitle(range: RangeInfo): string;
renderRanges(): JSX.Element | null;
confirmRanges(ranges: RangeInfo[], newRangesCount: number): boolean;
addRanges(type: "PageSizeOrOrient" | "AllPages" | "SinglePages" | "EmptyPage" | "Odd" | "Even" | "Custom", customPages?: string): void;
getAddRangeDDItems(): DropdownItem[];
findCustomRangeInput(event: any): HTMLInputElement;
onCustomRangeInputKeyDown(event: KeyboardEvent<HTMLInputElement>): void;
onRangeInputKeyDown(event: KeyboardEvent<HTMLInputElement>, rangeIndex: number): void;
applyCustomRangeValue(event: any): void;
renderRangeActions(): JSX.Element | null;
private _dragStartInfo?;
private _waitTouchStartTimeout;
private _pointerupHandler;
private _pointerMoveHandler;
private _targetRangeElem;
private _targetRangeIndex;
private _rangesElementToReplace;
private _targetPlaceElement;
private _onPagesRangePointerDown;
private _activatePagesRangeDrag;
private _removeInternalEventListeners;
clearRanges(): void;
private _onPdfPicked;
private loadThumbImages;
clearThumbsQueue(): void;
enqueueThumbImage(div: HTMLElement, fileId: string, pageIndex: number, rangeAngle: number): void;
private _resolveHidePromise;
get in17n(): i18n;
}