---
metadata:
  - name: generator
    content: Diplodoc Platform v5.39.1
alternate:
  - https://yandex.com.tr/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/ILayout.md
  - https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/ILayout.md
---
> **Documentation Index:** Fetch the complete configuration index at https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/llms.txt

# ILayout

Расширяет [IDomEventEmitter](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IDomEventEmitter.md).

Интерфейс макета.

[Конструктор](#constructor-summary) | [Поля ](#properties-summary) | [События ](#events-summary) | [Методы ](#methods-summary)

## Конструктор {#constructor-summary}

```javascript
ILayout(data)
```

**Параметры:**

#|
|| **Параметр** | **Значение по умолчанию** | **Описание**  ||
|| [`data`](#param-data)[*](*star) | — | Тип: Object

Данные макета. ||
|#

\* Обязательный параметр/опция.

## Поля {#properties-summary}

#|
|| **Имя** | **Тип** | **Описание** ||
|| [events](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IDomEventEmitter.md#events) | [IEventManager](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IEventManager.md) | Менеджер событий.

Унаследовано от [IDomEventEmitter](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IDomEventEmitter.md#events). ||
|#

## События {#events-summary}

#|
|| **Имя** | **Описание** ||
|| [click](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IDomEventEmitter.md#event-click) | Однократное нажатие левой кнопки мыши на объекте. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Экземпляр класса [MapEvent](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/MapEvent.md). Более детальное описание доступно в [domEvent.manager](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/domEvent.manager.md).

Унаследовано от [IDomEventEmitter](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IDomEventEmitter.md#event-click). ||
|| [contextmenu](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IDomEventEmitter.md#event-contextmenu) | Вызов контекстного меню на элементе. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Экземпляр класса [MapEvent](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/MapEvent.md). Более детальное описание доступно в [domEvent.manager](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/domEvent.manager.md).

Унаследовано от [IDomEventEmitter](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IDomEventEmitter.md#event-contextmenu). ||
|| [dblclick](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IDomEventEmitter.md#event-dblclick) | Двойное нажатие левой кнопки мыши на объекте. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Экземпляр класса [MapEvent](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/MapEvent.md). Более детальное описание доступно в [domEvent.manager](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/domEvent.manager.md).

Унаследовано от [IDomEventEmitter](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IDomEventEmitter.md#event-dblclick). ||
|| [emptinesschange](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/ILayout.md#event-emptinesschange) | Изменение признака пустоты макета. Экземпляр класса [Event](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md). ||
|| [mousedown](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IDomEventEmitter.md#event-mousedown) | Нажатие кнопки мыши над объектом. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Экземпляр класса [MapEvent](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/MapEvent.md). Более детальное описание доступно в [domEvent.manager](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/domEvent.manager.md).

Унаследовано от [IDomEventEmitter](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IDomEventEmitter.md#event-mousedown). ||
|| [mouseenter](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IDomEventEmitter.md#event-mouseenter) | Наведение курсора на объект. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Экземпляр класса [MapEvent](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/MapEvent.md). Более детальное описание доступно в [domEvent.manager](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/domEvent.manager.md).

Унаследовано от [IDomEventEmitter](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IDomEventEmitter.md#event-mouseenter). ||
|| [mouseleave](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IDomEventEmitter.md#event-mouseleave) | Вывод курсора за пределы объекта. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Экземпляр класса [MapEvent](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/MapEvent.md). Более детальное описание доступно в [domEvent.manager](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/domEvent.manager.md).

Унаследовано от [IDomEventEmitter](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IDomEventEmitter.md#event-mouseleave). ||
|| [mousemove](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IDomEventEmitter.md#event-mousemove) | Перемещение курсора над объектом. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Экземпляр класса [MapEvent](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/MapEvent.md). Более детальное описание доступно в [domEvent.manager](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/domEvent.manager.md).

Унаследовано от [IDomEventEmitter](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IDomEventEmitter.md#event-mousemove). ||
|| [mouseup](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IDomEventEmitter.md#event-mouseup) | Отпускание кнопки мыши над объектом. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Экземпляр класса [MapEvent](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/MapEvent.md). Более детальное описание доступно в [domEvent.manager](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/domEvent.manager.md).

Унаследовано от [IDomEventEmitter](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IDomEventEmitter.md#event-mouseup). ||
|| [multitouchend](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IDomEventEmitter.md#event-multitouchend) | Окончание мультисенсорного управления. Данное событие доступно только на устройствах, которые поддерживают множественные сенсорные прикосновения. Возвращает реализацию интерфейса IMultiTouchEvent.

Унаследовано от [IDomEventEmitter](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IDomEventEmitter.md#event-multitouchend). ||
|| [multitouchmove](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IDomEventEmitter.md#event-multitouchmove) | Повторящееся событие при мультисенсорном управлении. Данное событие доступно только на устройствах, которые поддерживают множественные сенсорные прикосновения. Возвращает реализацию интерфейса IMultiTouchEvent c информацией о прикосновениях. Определяет свойство touches, которое содержит список прикосновений. Каждое прикосновение описано объектом, которое содержит поля:
- clientX - координата касания X относительно видимой области браузера;
- clientY - координата касания Y относительно видимой области браузера;
- pageX - координата касания X касания относительно начала документа;
- pageY - координата касания Y касания относительно начала документа.

Унаследовано от [IDomEventEmitter](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IDomEventEmitter.md#event-multitouchmove). ||
|| [multitouchstart](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IDomEventEmitter.md#event-multitouchstart) | Начало мультисенсорного управления. Данное событие доступно только на устройствах, которые поддерживают множественные сенсорные прикосновения. Возвращает реализацию интерфейса IMultiTouchEvent c информацией о прикосновениях. Определяет свойство touches, которое содержит список прикосновений. Каждое прикосновение описано объектом, которое содержит поля:
- clientX - координата касания X относительно видимой области браузера;
- clientY - координата касания Y относительно видимой области браузера;
- pageX - координата касания X касания относительно начала документа;
- pageY - координата касания Y касания относительно начала документа.

Унаследовано от [IDomEventEmitter](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IDomEventEmitter.md#event-multitouchstart). ||
|| [parentelementchange](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/ILayout.md#event-parentelementchange) | Изменение родительского элемента. Экземпляр класса [Event](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md). ||
|| [shapechange](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/ILayout.md#event-shapechange) | Изменение фигуры области охватывающей макет. Экземпляр класса [Event](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md). ||
|| [wheel](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IDomEventEmitter.md#event-wheel) | Скролл мышкой. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Экземпляр класса [MapEvent](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/MapEvent.md). Более детальное описание доступно в [domEvent.manager](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/domEvent.manager.md).

Унаследовано от [IDomEventEmitter](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IDomEventEmitter.md#event-wheel). ||
|#

## Методы {#methods-summary}

#|
|| **Имя** | **Возвращает** | **Описание** ||
|| [destroy](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/ILayout.md#destroy)() | |Деструктор. Вызывается при завершении работы с макетом. ||
|| [getData](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/ILayout.md#getData)() | Object | Возвращает объект данных макета. ||
|| [getParentElement](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/ILayout.md#getParentElement)() | HTMLElement | Возвращает родительский HTML-элемент. ||
|| [getShape](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/ILayout.md#getShape)() | [IShape](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IShape.md)\|null | Возвращает фигуру, описывающую форму области, охватывающей макет, либо null, если нет возможности рассчитать данную фигуру. Координаты геометрии фигуры должны отсчитываться от точки привязки родительского элемента макета. ||
|| [isEmpty](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/ILayout.md#isEmpty)() | Boolean | Возвращает true, если макет пуст, т.е. не имеет содержимого. Данный признак используется для сокрытия пустых объектов, таких как хинт, балун и другие. ||
|| [setData](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/ILayout.md#setData)([data](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/ILayout.md#setData-param-data)) | | Задает данные макета. ||
|| [setParentElement](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/ILayout.md#setParentElement)([parent](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/ILayout.md#setParentElement-param-parent)) | | Добавляет макет в DOM-дерево. ||
|#

## Описание событий {#event_detail}

### emptinesschange {#emptinesschange}

Изменение признака пустоты макета. Экземпляр класса [Event](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md).

### parentelementchange {#parentelementchange}

Изменение родительского элемента. Экземпляр класса [Event](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md).

### shapechange {#shapechange}

Изменение фигуры области охватывающей макет. Экземпляр класса [Event](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md).

## Описание методов {#method_detail}

### destroy {#destroy}

```javascript
{} destroy()
```

Деструктор. Вызывается при завершении работы с макетом.

### getData {#getData}

```javascript
{Object} getData()
```

**Возвращает** объект данных макета.

### getParentElement {#getParentElement}

```javascript
{HTMLElement} getParentElement()
```

**Возвращает** родительский HTML-элемент.

### getShape {#getShape}

```javascript
{IShape|null} getShape()
```

**Возвращает** фигуру, описывающую форму области, охватывающей макет, либо null, если нет возможности рассчитать данную фигуру. Координаты геометрии фигуры должны отсчитываться от точки привязки родительского элемента макета.

### isEmpty {#isEmpty}

```javascript
{Boolean} isEmpty()
```

**Возвращает** true, если макет пуст, т.е. не имеет содержимого. Данный признак используется для сокрытия пустых объектов, таких как хинт, балун и другие.

### setData {#setData}

```javascript
{} setData(data)
```

Задает данные макета.

**Параметры:**

#|
|| **Параметр** | **Значение по умолчанию** | **Описание**  ||
|| [`data`](#setData-param-data)[*](*star) | — | Тип: Object

Данные макета. ||
|#

\* Обязательный параметр/опция.

### setParentElement {#setParentElement}

```javascript
{} setParentElement(parent)
```

Добавляет макет в DOM-дерево.

**Параметры:**

#|
|| **Параметр** | **Значение по умолчанию** | **Описание**  ||
|| [`parent`](#setParentElement-param-parent)[*](*star) | — | Тип: HTMLElement\|null

Родительский html-элемент. Родительский элемент должен быть добавлен в DOM-дерево. Если передан null, то элемент удаляется из DOM-дерева. ||
|#

\* Обязательный параметр/опция.

<!-- XLIFF_FARM_MTk1N2U0_CACHING -->

[*star]: Обязательный параметр.