Документация
Справочник JavaScript API
2.1.64 (текущая версия)
collection
interactivityModel
Интерфейсы

layout.templateBased.Base

Расширяет ILayout.

Базовый класс макета на основе шаблонов. Этот класс используется фабрикой макетов как базовый для создания пользовательских макетов.

См.: templateLayoutFactory

Конструктор | Поля | События | Методы

Конструктор

layout.templateBased.Base(data)

Параметры:

ПараметрЗначение по умолчаниюОписание
data *
[no-highlight[

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

]no-highlight]

Тип: Object

Набор разнородных данных, на основе которых строится макет.

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

Поля

ИмяТипОписание
events IEventManager

Менеджер событий.

Унаследовано от IDomEventEmitter.

События

ИмяОписание
click

Однократное нажатие левой кнопки мыши на объекте. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Более детально описание в domEvent.manager.

Унаследовано от IDomEventEmitter.

contextmenu

Вызов контекстного меню на элементе. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Более детально описание в domEvent.manager.

Унаследовано от IDomEventEmitter.

dblclick

Двойное нажатие левой кнопки мыши на объекте. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Более детально описание в domEvent.manager.

Унаследовано от IDomEventEmitter.

emptinesschange

Изменение признака пустоты макета. Экземпляр класса Event.

Унаследовано от ILayout.

mousedown

Нажатие кнопки мыши над объектом. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Более детально описание в domEvent.manager.

Унаследовано от IDomEventEmitter.

mouseenter

Наведение курсора на объект. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Более детально описание в domEvent.manager.

Унаследовано от IDomEventEmitter.

mouseleave

Вывод курсора за пределы объекта. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Более детально описание в domEvent.manager.

Унаследовано от IDomEventEmitter.

mousemove

Перемещение курсора над объектом. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Более детально описание в domEvent.manager.

Унаследовано от IDomEventEmitter.

mouseup

Отпускание кнопки мыши над объектом. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Более детально описание в domEvent.manager.

Унаследовано от IDomEventEmitter.

multitouchend

Окончание мультисенсорного управления. Данное событие доступно только на устройствах, которые поддерживают множественные сенсорные прикосновения. Возвращает реализацию интерфейса IMultiTouchEvent.

Унаследовано от IDomEventEmitter.

multitouchmove

Повторящееся событие при мультисенсорном управлении. Данное событие доступно только на устройствах, которые поддерживают множественные сенсорные прикосновения. Возвращает реализацию интерфейса IMultiTouchEvent c информацией о прикосновениях. Определяет свойство touches, которое содержит список прикосновений. Каждое прикосновение описано объектом, которое содержит поля:

  • clientX - координата касания X относительно видимой области браузера;
  • clientY - координата касания Y относительно видимой области браузера;
  • pageX - координата касания X касания относительно начала документа;
  • pageY - координата касания Y касания относительно начала документа.

Унаследовано от IDomEventEmitter.

multitouchstart

Начало мультисенсорного управления. Данное событие доступно только на устройствах, которые поддерживают множественные сенсорные прикосновения. Возвращает реализацию интерфейса IMultiTouchEvent c информацией о прикосновениях. Определяет свойство touches, которое содержит список прикосновений. Каждое прикосновение описано объектом, которое содержит поля:

  • clientX - координата касания X относительно видимой области браузера;
  • clientY - координата касания Y относительно видимой области браузера;
  • pageX - координата касания X касания относительно начала документа;
  • pageY - координата касания Y касания относительно начала документа.

Унаследовано от IDomEventEmitter.

parentelementchange

Изменение родительского элемента. Экземпляр класса Event.

Унаследовано от ILayout.

shapechange

Изменение фигуры области охватывающей макет. Экземпляр класса Event.

Унаследовано от ILayout.

wheel

Скролл мышкой. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Более детально описание в domEvent.manager.

Унаследовано от IDomEventEmitter.

Методы

ИмяВозвращаетОписание
build()

Строит экземпляр макета на основе шаблона и добавляет его в родительский HTML-элемент.

clear()

Удаляет содержимое макета из DOM.

destroy()

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

Унаследован от ILayout.

getData()

Object

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

Унаследован от ILayout.

getParentElement()

HTMLElement

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

Унаследован от ILayout.

getShape()

IShape|null

Возвращает фигуру, описывающую форму области, охватывающей макет, либо null, если нет возможности рассчитать данную фигуру. По умолчанию пытается построить фигуру через опцию shape - this.getData().options.get('shape'). В опции можно задать как инстанцию класса, реализующего интерфейс IShape, так и JSON-описание пиксельной геометрии фигуры. Координаты геометрии фигуры должны отсчитываться от точки привязки родительского элемента макета.

isEmpty()

Boolean

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

Унаследован от ILayout.

onSublayoutSizeChange(sublayoutInfo, nodeSizeByContent)

Автоматически вызывается при изменении размеров вложенного макета, добавленного с параметром 'observeSize'. Используется для переопределения в конкретных классах макетов для реакции на изменение размеров содержимого.

rebuild()

Перестраивает макет.

setData(data)

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

Унаследован от ILayout.

setParentElement(parent)

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

Унаследован от ILayout.

Описание методов

build

{} build()

Строит экземпляр макета на основе шаблона и добавляет его в родительский HTML-элемент.

clear

{} clear()

Удаляет содержимое макета из DOM.

getShape

{IShape|null} getShape()

Возвращает фигуру, описывающую форму области, охватывающей макет, либо null, если нет возможности рассчитать данную фигуру. По умолчанию пытается построить фигуру через опцию shape - this.getData().options.get('shape'). В опции можно задать как инстанцию класса, реализующего интерфейс IShape, так и JSON-описание пиксельной геометрии фигуры. Координаты геометрии фигуры должны отсчитываться от точки привязки родительского элемента макета.

Пример:

// Создадим метку и зададим ей круглую интерактивную область.
var MyLayoutClass = ymaps.templateLayoutFactory.createClass('<div class="imageIcon">{{name}}</div>'),
    myPlacemark = new ymaps.Placemark([22, 34], {name: 'Кафе Маяк'}, {
        iconLayout: MyLayoutClass,
       iconShape: {type: 'Circle', coordinates: [0, 0], radius: 20}
   });

onSublayoutSizeChange

{} onSublayoutSizeChange(sublayoutInfo, nodeSizeByContent)

Автоматически вызывается при изменении размеров вложенного макета, добавленного с параметром 'observeSize'. Используется для переопределения в конкретных классах макетов для реакции на изменение размеров содержимого.

Параметры:

ПараметрЗначение по умолчаниюОписание
sublayoutInfo *
[no-highlight[

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

]no-highlight]

Тип: Object

Информация о вложенном макете.

nodeSizeByContent *
[no-highlight[

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

]no-highlight]

Тип: Object

Новые размеры элемента с учётом его содержимого. Доступные поля: 'width', 'height', 'scrollX', 'scrollY'.

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

rebuild

{} rebuild()

Перестраивает макет.