@docsvision/webclient
Version:
Type definitions for DocsVision WebClient scripts and extensions.
80 lines (79 loc) • 5.96 kB
TypeScript
import React from "react";
import { $ApplicationSettings, $DeviceType, $WebViewIOSEnabled } from "@docsvision/webclient/StandardServices";
import { $CloudSignature } from "@docsvision/webclient/BackOffice/$CloudSignature";
import { $PowerOfAttorneyApiController, $SignatureController, $SignatureMethodsController } from "@docsvision/webclient/Generated/DocsVision.WebClient.Controllers";
import { GenModels } from "@docsvision/webclient/Generated/DocsVision.WebClient.Models";
import { $CryptoPro } from "@docsvision/webclient/BackOffice/$CryptoPro";
import { SignatureDialogLogic } from "@docsvision/webclient/BackOffice/SignatureDialogLogic";
import { IComponentProps } from "@docsvision/web/core/component";
import { $LocalStorage } from "@docsvision/webclient/System/$LocalStorage";
import { ISignatureDialogButtonsProps, SignatureDialogFrame } from "@docsvision/webclient/BackOffice/SignatureDialogFrame";
import { SignatureDialogLoader } from "@docsvision/webclient/BackOffice/SignatureDialogLoader";
import { SignatureDialogLabels } from "@docsvision/webclient/BackOffice/SignatureDialogLabels";
import { SignatureDialogNoPluginMessage } from "@docsvision/webclient/BackOffice/SignatureDialogNoPluginMessage";
import { SignatureDialogMethods } from "@docsvision/webclient/BackOffice/SignatureDialogMethods";
import { SignatureDialogSettings } from "@docsvision/webclient/BackOffice/SignatureDialogSettings";
import { $MessageBox } from "@docsvision/webclient/System/$MessageBox";
import { IDigitalSignOptions } from "@docsvision/webclient/BackOffice/$DigitalSignature";
import { $Resources } from "@docsvision/web/core/localization/$Resources";
import { Focusable } from "@docsvision/web/components/focus-management";
import { $CardInfo } from "@docsvision/webclient/System/LayoutServices";
import { SignatureDialogPowersOfAttorney } from "@docsvision/webclient/BackOffice/SignatureDialogPowersOfAttorney";
import { PowerOfAttorneyErrorMessage } from "@docsvision/webclient/BackOffice/PowerOfAttorneyErrorMessage";
import { $Router } from "@docsvision/webclient/System/$Router";
export declare type $SignatureDialogServices = $SignatureController & $WebViewIOSEnabled & $CloudSignature & $MessageBox & $CryptoPro & $ApplicationSettings & $LocalStorage & $SignatureMethodsController & $Resources & $CardInfo & $DeviceType & $PowerOfAttorneyApiController & $Router;
/** Свойства для {@see SignatureDialog}. */
export interface ISignatureDialogProps extends IComponentProps<SignatureDialogLogic, SignatureDialogView> {
/** Идентификатор документа. */
documentId: string;
/** Не отображать выбор метки. */
hideLabelSelection?: boolean;
/** Не отображать кнопку настройки вариантов подписания. */
hideSignatureMethodsSetup?: boolean;
/** Скрыть метод простой подписи. */
hideSimpleSign?: boolean;
/** Не отображать комбо-бокс выбора способа подписания (будет выбран первый вариант по-умолчанию). */
hideSignatureMethodsSelect?: boolean;
/** Не отображать комбо-бокс выбора доверенности (будет выбран первый вариант по-умолчанию). */
hidePowerOfAttorneySelect?: boolean;
/** Не отображать диалог на экране (используйте API {@link IDigitalSignatureDialogManagement} для управления видимостью). */
showHidden?: boolean;
/** Сообщение, показываемое в нижней части диалога */
footer?: React.ReactNode;
/** Сообщение, показываемое в верхней части диалога */
header?: React.ReactNode;
/** Текст основной кнопки, по которой инициируется формирование подписи. */
signButtonText?: string;
/** Текст кнопки отмены. */
cancelButtonText?: string;
/** Текст в заголовке диалога. */
dialogHeaderText?: string;
/** Вызывается при подписи. */
onSign?: (options: IDigitalSignOptions) => Promise<void>;
/** Вызывается при отмене подписи. */
onCancel?: () => void;
/** Вызывается для обработки отображаемого списка доступных способов подписания. */
onPrepareSignatureMethods?: (methods: GenModels.SignatureMethod[]) => GenModels.SignatureMethod[];
/** Вызывается при отрисовке кнопок диалога. */
onRenderButtons?: (props: ISignatureDialogButtonsProps, defaultButtons: JSX.Element[]) => JSX.Element[];
/** Вызывается при выборе способа подписания. */
onSelectMethods?: (method: GenModels.SignatureMethod) => void;
services: $SignatureDialogServices;
}
export declare class SignatureDialogView {
frame: typeof SignatureDialogFrame;
loader: typeof SignatureDialogLoader;
labels: typeof SignatureDialogLabels;
powersOfAttorney: typeof SignatureDialogPowersOfAttorney;
noPluginMessage: typeof SignatureDialogNoPluginMessage;
methods: typeof SignatureDialogMethods;
settings: typeof SignatureDialogSettings;
errorMessage: typeof PowerOfAttorneyErrorMessage;
contentWrapper: typeof Focusable;
/** Точка расширения для партнеров */
footer: (logic: SignatureDialogLogic) => React.ReactNode;
/** Точка расширения для партнеров */
header: (logic: SignatureDialogLogic) => React.ReactNode;
}
/** Диалог подписания документа */
export declare function SignatureDialog(props: ISignatureDialogProps): JSX.Element;