@docsvision/webclient
Version:
Type definitions for DocsVision WebClient scripts and extensions.
26 lines (25 loc) • 1.72 kB
TypeScript
import { GenModels } from "@docsvision/webclient/Generated/DocsVision.WebClient.Models";
import { LayoutContainer } from '@docsvision/webclient/System/LayoutContainer';
import { ServiceContainer } from "@docsvision/web/core/services";
/**
* Параметры для создания экземпляра класса {@link LayoutContainer}.
*/
export interface ILayoutContainerParams<T extends GenModels.LayoutViewModel> {
/** Идентификатор DOM-элемента, в котором необходимо расположить разметку. Вместо этого параметра можно передать сам элемент в {@link rootElement}. */
rootElementId?: string;
/** DOM-элемент, в котором необходимо расположить разметку. Вместо этого параметра можно передать id элемента в {@link rootElementId}. */
rootElement?: HTMLElement;
/** Уникальное имя разметки. */
name: string;
parent?: LayoutContainer<GenModels.LayoutViewModel>;
/** Список имён дочерних компонентов. */
children: string[];
/** Тип разметки (служит для идентификации файла разметки на сервере). */
positionName: string;
/** Вызывается перед выгрузкой разметки. */
unmountCallback: (layoutContainer: LayoutContainer<GenModels.LayoutViewModel>) => void;
/** Модель разметки, содержащая описание контролов. */
layoutCardModel: T;
layoutViewModel: T;
services?: ServiceContainer;
}