Delegate в WEB

Delegate в WEB

Функциональность работает с версии widget 4.3.0

Чтобы использовать описанный функционал, для установки widget.js должна использоваться одна из следующих ссылок:

https://cdn.uxfeedback.ru/X.X.X/widget.js, где X.X.X - номер версии большей чем 4.3.0

https://cdn.uxfeedback.ru/widget.js

В документации приведены описания кастомных событий, которые генерирует скрипт UX Feedback в процессе своей работы на сайте.

Событие об инициализации скрипта

Название событие — uxsReady

Срабатывает в момент полной загрузки файлов скрипта и инициализации всех необходимых для корректной работы сущностей.

Пример использования:

document.addEventListener('uxsReady', () => window.UXS.sendEvent('eventName'))

Событие показа формы

Название события — uxs/showForm

Передаваемые данные:

event.detail = { campaignId: number - id показанной кампании, eventName?: string - название события, по которому была вызвана кампания (опционально) }

Срабатывает в момент монтирования элементов формы в DOM

Пример использования:

document.addEventListener('uxs/showForm', (event) => { const { campaignId, eventName } = event.detail; // your custom code })

Событие закрытия формы

Название события — uxs/closeForm

Передаваемые данные:

event.detail = { campaignId: number - id показанной кампании, formFinished: bool - флаг полного прохождения формы, принимает значения true, если форма была закрыта на странице конченого типа (способ закрытия не имеет значения), url: string - (опциональный параметр) url, на который был совершен переход из формы по логике перехода …rest: [array, string, number] - (опциональные параметры) значения ответов пользователя в форме Приходят в формате fieldId: value, где fieldId - значение уникального идентификатора поля, на который был дан ответ value - значение, которые пользователь оставил в форме }

Срабатывает в момент начала процесса скрытия формы (способ закрытия не имеет значения)

Пример использования:

document.addEventListener('uxs/closeForm', (event) => { const { campaignId, formFinished, url, ...rest, } = event.detail; // answerOnField = rest['7GUk-1UW']; // your custom code })

Пример реального объекта event.detail:

{ campaignId: 1, formFinished: true, Gh0t2XKE: 8, Ti65DWin: "ответ на поле комментарий", sU3FzP9m: ["ei91VsP7""], oa30dsFT: "i31wlNA2" }