Widget
Виджет — это часть пользовательского интерфейса, который содержит свою структуру и функционал.
Widget
— базовый класс для всех виджетов CoMagic.
Методы
show()
Метод показа виджета — по умолчанию удаляет класс comagic-widget--hidden. Метод можно переопределять при создании виджета.
hide()
Метод скрытия виджета — по умолчанию добавляет класс comagic-widget--hidden. Метод можно переопределять при создании виджета.
render()
Метод вставки и создания dom-элемента на страницу.
destroy()
Метод удаления dom-элемента со страницы.
getEl(selector?: String)
Возвращает ссылку на dom-элемент.
selector
- опциональный параметр, который передается в метод для поиска элемента с конкретным селектором внутри элемента виджета.
Если его не передать, то вернет весь элемент виджета.
on(eventName: string, callback: Function)
Метод для подписки на события виджета.
eventName
- имя события, с которым происходит взаимодействие;
callback
- функция, которая будет вызвана при возникновения события.
un(eventName: string, callback: Function)
Метод для отписки от событий виджета.
eventName
- имя события, с которым происходит взаимодействие;
callback
- функция, которая была передана при подписке на событие.
События
beforeshow
Cобытие, которое произойдет до выполнения метода show
show
Cобытие, которое произойдет после выполнения метода show
beforehide
Cобытие, которое произойдет до выполнения метода hide
hide
Cобытие, которое произойдет после выполнения метода hide
beforerender
Cобытие, которое произойдет до выполнения метода render
render
Cобытие, которое произойдет после выполнения метода render
beforedestroy
Cобытие, которое произойдет до выполнения метода destroy
Создание виджетов
Виджеты создаются с помощью вызова функции Comagic.UI.createWidget
.
Первым параметром передается название виджета. Вторым параметром — объект конфигурации.
Виджеты имеют единый базовый класс и производные от него дочерние классы.
Список имен виджетов:
- personal_form
- call_generator
- offline_message_generator
- sitephone
Если названия виджета нет в списке имен виджетов, то созданный объект будет инстансом базового класса.
Comagic.UI.createWidget('sitephone_label', {
settings: settings,
template: tpls['sitephone_label']
})
В противном случае, вернется объект соответствующего дочернего класса.
Comagic.UI.createWidget('sitephone', {
settings: settings,
template: tpls['sitephone']
})
Метод createWidget предназначен для вызова внутри viewcontroller.