UNPKG

@docsvision/webclient

Version:

Type definitions for DocsVision WebClient scripts and extensions.

82 lines (81 loc) 5.05 kB
import { IComboBoxElement } from "@docsvision/webclient/Helpers/ComboBox/Data/ClientModels/IComboBoxElement"; import { ModalHost } from "@docsvision/webclient/Helpers/ModalHost"; import { $DocumentCardController } from "@docsvision/webclient/Legacy/DocumentCard"; import { ISignatureLabel } from "@docsvision/webclient/Legacy/ISignatureLabel"; import { IFilePreviewModel } from "@docsvision/webclient/Legacy/IFilePreviewModel"; import { $WebViewIOSEnabled } from "@docsvision/webclient/StandardServices"; import { LoadingState } from "@docsvision/webclient/System/LoadingState"; import { ICryptoCertificateInfo } from "Libs/CryptoPro/Crypto"; import React from "react"; export interface IFileSignCreateDialogProps { /** Идентификатор документа. */ documentId: string; /** Вызывается при подписи. */ onSign?: (selectedCertInfo: ICryptoCertificateInfo, selectedLabel: ISignatureLabel, timestamp: number, signFields?: boolean, signAttachments?: boolean) => void; /** Вызывается при отмене подписи. */ onCancel?: () => void; /** Загрузка */ loading?: boolean; /** Сервисы */ services: $DocumentCardController & $WebViewIOSEnabled; } export interface IFileSignCreateDialogState { /** Информация о стадии инициализации компонента. */ initLoading: LoadingState; /** Идентификатор выбранной метки для подписи. */ selectedLabel?: ISignatureLabel; /** Идентификатор выбранного варианта подписания подписи (простой или сертификат). */ selectedModeId: string; /** Информация о выбранном сертификате для подписи (если подпись не является простой). */ selectedCertInfo: ICryptoCertificateInfo; /** Название выбранного сертификата для подписи (если подпись не является простой). */ selectedCertName: string; /** Сертификат из профиля пользователя. */ defaultCertInfo?: ICryptoCertificateInfo; /** Необходимо ли подписать Поля */ signFields?: boolean; /** Необходимо ли подписать Дополнения */ signAttachments?: boolean; /** Список меток для подписи. */ signLabels: ISignatureLabel[]; /** Пользовательский отпечаток. */ thumbprint: string; /** Таймштамп последнего изменения карточки. */ timestamp: number; /** Экземпляр ModalHost для работы с модальным окном для выбора сертификата. */ certSelectModalHost: ModalHost; /** Видно ли модальное окно для выбора сертификата. */ isCertSelectVisible: boolean; /** Загрузка */ loading?: boolean; } export declare class FileSignCreateDialog extends React.Component<IFileSignCreateDialogProps, IFileSignCreateDialogState> { static readonly SELECT_CERTIFICATE_MODE = "select-certificate"; constructor(props: IFileSignCreateDialogProps); componentDidUpdate(props: any, state: any): void; /** @internal */ UNSAFE_componentWillMount(): Promise<void>; /** Является ли подпись простой. */ isSimpleSign: () => boolean; checkIsCertificateExist: () => Promise<boolean>; /** Обновляет список доступных меток для подписи. */ updateLabels: () => Promise<IFilePreviewModel>; /** При изменении варианта подписания подписи. */ protected onModeChange: (selectedElement: IComboBoxElement) => void; /** Получить отформатированный список меток для комбобокса. */ protected getLabelsForCombobox: () => IComboBoxElement[]; /** Получить отформатированный список вариантов подписания для комбобокса. */ protected getModesForCombobox: () => IComboBoxElement[]; /** Открывает модальное окно для выбора сертификата. */ protected openCertSelectWindow: () => void; /** При закрытии модального окна для выбора сертификата. */ protected onCloseCertSelectWindow: (selectedCertInfo: ICryptoCertificateInfo) => void; /** При подписании. */ protected onSign: () => void; /** При отмене подписания. */ protected onCancel: () => void; /** Отрисовывает модальное окно для выбора сертификата. */ protected renderSelectCertDialog(): React.ReactNode; /** @internal */ render(): JSX.Element; }