Appearance
WidgetManger
Методы API экземпляра WidgetManger
js
const afishaWidgetManager = new WidgetManger('81bbe10d-f527-4531-bb9a-758abbda6126')
initWidgets
js
/**
* Ищет в document специальные тэги и инициализирует виджеты
* @returns {void}
*/
afishaWidgetManager.initWidgets()
getWidget
js
/**
* Возвращает экземпляр виджета по идентификатору
* @param {string} id - Идентификатор виджета
* @returns {InlineWidget | ModalWidget | undefined} - Экземпляр виджета
*/
afishaWidgetManager.getWidget('20c2fac0-b3de-4d47-a892-76063edca1e0')
destroyWidget
js
/**
* Уничтожить экземпляр виджета по идентификатору
* @param {string} id - Идентификатор виджета
* @returns {ArrayWidgets} - Массив виджетов
*/
afishaWidgetManager.destroyWidget('20c2fac0-b3de-4d47-a892-76063edca1e0')
appendWidget
js
/**
* Добавляет новый виджет на страницу
* @param {WidgetParams} params - параметры виджета
* @param {HTMLElement} [parent=document.body] - DOM Element в который будет смонтирован виджет
* @returns {Promise<InlineWidget | ModalWidget>}
*/
afishaWidgetManager.appendWidget(
{
route: ROUTES.refunds,
embedType: EMBED_TYPES.modal
}
document.body,
);
sendAutToken
js
/**
* Отправляет во все mounted виджеты token авторизации
* @returns {void}
*/
afishaWidgetManager.sendAuthToken('4d47-a892-76063edca1e0')
sendECommerceData
js
/**
* Отправляет во все mounted виджеты данные ECommerce
* @returns {void}
*/
afishaWidgetManager.sendECommerceData({
id: 123,
name: 'Ваше название',
list: 'Ваш список',
position: 1,
category: 'Ваша категория'
})
openedModalWidget
js
/**
* Возвращает экземпляр виджета открытого в модальном окне
* @returns {ModalWidget | undefined} - Экземпляр виджета
*/
afishaWidgetManager.openedModalWidget