@docsvision/webclient
Version:
Type definitions for DocsVision WebClient scripts and extensions.
65 lines (64 loc) • 3.27 kB
TypeScript
import React from 'react';
import { IScanDialog, ScanDialogProps, ScanDialogState } from '@docsvision/webclient/Platform/$ScanDialog';
import { IComboBoxElement } from '@docsvision/webclient/Helpers/ComboBox/Data/ClientModels/IComboBoxElement';
import { GenModels } from '@docsvision/webclient/Generated/DocsVision.WebClient.Models';
import { ImageType } from '@docsvision/webclient/Platform/ImageType';
import { $LocalStorage } from '@docsvision/webclient/System/$LocalStorage';
import { $FileScan } from '@docsvision/webclient/Platform/$FileScan';
import { $LayoutCheck } from '@docsvision/webclient/System/$LayoutCheckService';
import { $CardInfo } from '@docsvision/webclient/System/LayoutServices';
import { $RequestManager } from '@docsvision/webclient/System/$RequestManager';
import { ZoomOptions, RotateDirection, PageSwitchers, ScanInfo } from '@docsvision/webclient/Platform/RotateDirection';
import { PageLeaveConfirmation } from '@docsvision/webclient/System/PageLeaveConfirmation';
import { $DeviceType } from '@docsvision/webclient/StandardServices';
export interface ISavedScanOptions {
selectedScannerID: string;
selectedResolutionID: string;
selectedColorMode: ImageType;
selectedFileType: GenModels.ScannedImageFormat;
}
export declare class ScanDialogService implements IScanDialog {
private services;
private host;
private props;
private state;
private attachedScan;
private currentPageInput;
private fileNameInput;
private scannersList;
protected pageLeaveConfirmation: PageLeaveConfirmation;
private performScanOnce;
constructor(services: $LocalStorage & $FileScan & $LayoutCheck & $CardInfo & $RequestManager & $DeviceType);
savedOptionsKey: string;
getScannersList: () => Promise<string[]>;
open: (props: ScanDialogProps) => Promise<void>;
updateState: (state: ScanDialogState) => Promise<void>;
close: () => Promise<void>;
get isOpen(): boolean;
private onClose;
private onSave;
protected getTabIndex(): 0 | -1;
onScannerChange: (selectedElement: IComboBoxElement) => void;
onResolutionChange: (selectedElement: IComboBoxElement) => void;
onColorChange: (changeEvent: React.FormEvent<any>) => void;
onFileTypeChange: (changeEvent: React.FormEvent<any>) => void;
generateFileName: () => string;
createScan: (preview?: boolean, multiple?: boolean) => Promise<void>;
createPreviewScan: () => Promise<void>;
createMultiplePagesScan: () => Promise<void>;
onFileNameChanged: (sender: any, args: any) => void;
onCurrentPageChanged: (sender: any, args: any) => void;
attachScan: (element: HTMLElement) => void;
zoomScan: (value: ZoomOptions) => void;
rotateScan: (direction: RotateDirection) => void;
deletePage: () => void;
switchPage: (button: PageSwitchers) => void;
createCanvas: (src: string, direction: RotateDirection, callback: any) => void;
renderPreviewBlock: () => JSX.Element;
renderScannerSettings: () => JSX.Element;
renderScanOptions: () => JSX.Element;
renderSaveOptions: () => JSX.Element;
getInfoCssClass: (stage: ScanInfo) => "error" | "success" | "prepare" | "process";
getInfoText: (stage: ScanInfo) => string;
renderDialog(): JSX.Element;
}