layout.templateBased.Base

Расширяет ILayout.

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

См.: templateLayoutFactory

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

Конструктор

layout.templateBased.Base(data)

Параметры:

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

Тип: 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>');
var myPlacemark = new ymaps.Placemark([22, 34], {
    name: 'Cafe Mayak'
}, {
    iconLayout: MyLayoutClass,
    iconShape: {
        type: 'Circle',
        coordinates: [0, 0],
        radius: 20
    }
});

onSublayoutSizeChange

{} onSublayoutSizeChange(sublayoutInfo, nodeSizeByContent)

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

Параметры:

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

Тип: Object

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

nodeSizeByContent *

Тип: Object

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

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

rebuild

{} rebuild()

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