- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/lib/sitebutton/channel/channelopenline.php
- Класс: Bitrix\Crm\SiteButton\Channel\ChannelOpenLine
- Вызов: ChannelOpenLine::getWhatsAppEdnaWidget
static function getWhatsAppEdnaWidget(int $lineId, $lang): ?array
{
$widget = [];
if (!Loader::includeModule('messageservice'))
{
return null;
}
if (!ImConnector\Tools\Connectors\Messageservice::isEnabled())
{
return null;
}
$url = ImConnector\Tools\Connectors\Messageservice::getWhatsappLink($lineId, $lang);
$onclick = ImConnector\Tools\Connectors\Messageservice::getWhatsappOnClick($url);
$widgetParams = [
'url' => $url,
'onclick' => $onclick,
'messages' => ImConnector\Tools\Connectors\Messageservice::getWidgetLocalization($lang),
'disclaimerUrl' => '',
];
$widgetParamsEncoded = Json::encode($widgetParams);
$widget['title'] = Loc::getMessage("CRM_BUTTON_MANAGER_OPENLINE_VIRTUAL_WHATSAPP_TITLE");
$widget['script'] = ImConnector\Tools\Connectors\Messageservice::getWidgetScript();
$widget['show'] = [
'js' => [
'desktop' =>'BX.NotificationsWidgetLoader.init('.$widgetParamsEncoded.').then(function(){window.BX.NotificationsWidget.Instance.show();})',
],
'url' => [
'mobile' => $url,
'force' => true,
],
];
$widget['hide'] = 'window.BX.NotificationsWidget.Instance.close();';
$widget['freeze'] = true;
$widget['classList'] = [
'ui-icon',
'ui-icon-service-' . ImConnector\Connector::getIconByConnector('notifications_virtual_wa'),
'connector-icon-45'
];
return $widget;
}