Skip to content

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.

Первым параметром передается название виджета. Вторым параметром — объект конфигурации.

Виджеты имеют единый базовый класс и производные от него дочерние классы.

Список имён виджетов:

  1. personal_form
  2. call_generator
  3. offline_message_generator
  4. sitephone

Если названия виджета нет в списке имен виджетов, то созданный объект будет инстансом базового класса.

Comagic.UI.createWidget('sitephone_label', {
    settings: settings,
    template: tpls['sitephone_label']
})

В противном случае, вернется объект соответствующего дочернего класса.

Comagic.UI.createWidget('sitephone', {
    settings: settings,
    template: tpls['sitephone']
})

Метод createWidget предназначен для вызова внутри viewcontroller.