UNPKG

@docsvision/webclient

Version:

Type definitions for DocsVision WebClient scripts and extensions.

46 lines (45 loc) 2.03 kB
import React from "react"; import { BaseControlState } from "@docsvision/webclient/System/BaseControl"; import { BaseControlImpl } from "@docsvision/webclient/System/BaseControlImpl"; import { GenModels } from "@docsvision/webclient/Generated/DocsVision.WebClient.Models"; import { ImageParams } from "./Image"; import { $LayoutInfo, $EditOperationStore } from "@docsvision/webclient/System/LayoutServices"; import { $Layout } from '@docsvision/webclient/System/$Layout'; import { BooleanState } from '@docsvision/webclient/System/BooleanState'; import { IValidationParams } from "@docsvision/webclient/System/IValidationParams"; import { IValidationResult } from "@docsvision/webclient/System/IValidationResult"; export interface IImageState extends BaseControlState, ImageParams { binding: GenModels.BindingResult; canEdit: boolean; dataChanged: boolean; value: string; defaultImage: string; dragOverState: BooleanState; dragOverFrame: HTMLElement; validationMessage: string; services: $LayoutInfo & $Layout & $EditOperationStore; } export interface ImageState extends IImageState { } export declare class ImageImpl extends BaseControlImpl<ImageParams, IImageState> { input: HTMLInputElement; constructor(props: ImageParams, state: IImageState); componentDidMount(): void; setImageValue(value: string): void; protected attachInput(elem: HTMLInputElement): void; onInputChange: (ev: React.ChangeEvent<HTMLInputElement>) => Promise<void>; onInputClear: () => Promise<void>; getCssClass(): string; private renderPlaceholder; private renderInput; private renderImage; protected onFileDrop: (file: File | null) => Promise<void>; private saveDataInPlace; validate(params: IValidationParams): IValidationResult; protected renderValidationMessage(): JSX.Element; protected updateValidationMessage(): void; private renderDropZone; private renderClearButton; private renderEdit; protected renderControl(): JSX.Element; }