@docsvision/webclient
Version:
Type definitions for DocsVision WebClient scripts and extensions.
74 lines (73 loc) • 4.07 kB
TypeScript
/// <reference types="react" />
import { GenModels } from "@docsvision/webclient/Generated/DocsVision.WebClient.Models";
import { BaseControl, BaseControlParams, BaseControlState } from "@docsvision/webclient/System/BaseControl";
import { ControlImpl } from "@docsvision/webclient/System/ControlImpl";
/**
* Содержит публичные свойства элемента управления [Html виджет]{@link HtmlView}.
*/
export declare class HtmlViewParams extends BaseControlParams {
/** Адрес html-ресурса. */
sourceUrl: string;
/** В режиме без использования фрейма - содержимое html, расположенного по адресу {@link sourceUrl}. */
sourceHtml?: string;
/**
* Параметр определяет каким образом HTML-содрежимое будет загружено и отображено.
*
* - При значении 0 (`HtmlViewMode.FromCard`) - HTML будет загружен из поля карточки, указанного в привязке в конструкторе разметок.
* - При значении 1 (`HtmlViewMode.FromFile`) - HTML будет загружен из файла на сервере, путь к которому указан в параметре {@link sourceUrl}.
* - При значении 2 (`HtmlViewMode.External`) - Будет использован iframe,
* которому в качестве значения аттрибута `src` будет передан URL из параметра {@link sourceUrl}.
*
* В первых двух вариантах HTML будет непосредственно вставлен в тело страницы, в последнем через iframe.
*/
mode?: GenModels.HtmlViewMode;
/** Ширина содержимого с единицами измерения. Учитывается только для режима {@link mode} = `HtmlViewMode.External (2)`. */
width?: string;
/** Высота содержимого с единицами измерени. Учитывается только для режима {@link mode} = `HtmlViewMode.External (2)`. */
height?: string;
/** Текст всплывающей подсказки. */
tip?: string;
/** Стандартный CSS класс со стилями элемента управления. */
standardCssClass?: string;
/** Значение атрибута sandbox тега iframe. */
frameSandbox?: string;
/** Назначить атрибут sandbox для тега iframe или нет. */
useFrameSandbox?: boolean;
/** Значение атрибута scrolling тега iframe. */
frameScrolling?: string;
/** Закончилась загрузка фрейма или нет */
frameLoaded?: boolean;
}
/** @internal */
export interface IHtmlViewState extends HtmlViewParams, BaseControlState {
}
export interface HtmlViewState extends IHtmlViewState {
}
/**
* Класс элемента управления Html виджет.
*
* Добавляет в web-разметку произвольную html разметку.
*/
export declare class HtmlView extends BaseControl<HtmlViewParams, IHtmlViewState> {
/** @internal */
protected createParams(): HtmlViewParams;
/** @internal */
protected createImpl(): ControlImpl;
/** @internal */
protected isDigit(c: string): boolean;
/** @internal */
protected processSize(val: string): string;
private set widthSetter(value);
private set heightSetter(value);
private set frameScrollingSetter(value);
/** @internal */
protected onFrameLoaded: () => void;
/** @internal */
protected attachInlineHtml: (elem: HTMLElement) => void;
/** @internal */
protected attachTooltip: (elem: HTMLElement) => void;
/** @internal */
protected renderFrame(): JSX.Element;
/** @internal */
renderControl(): JSX.Element;
}