@docsvision/webclient
Version:
Type definitions for DocsVision WebClient scripts and extensions.
46 lines (45 loc) • 2.03 kB
TypeScript
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;
}