Доброго дня!
Есть некая форма реализующая ajax интерфейс с фрагментом кода
public function ajaxCallback(array &$form, FormStateInterface $form_state)
{
$response = new AjaxResponse();
$response->addCommand(new InvokeCommand('document', 'sendMessage', ['test']));
return $response;
}
есть подключенный фрагмент JS, который создаёт вызываемую функцию
(function ($, Drupal, drupalSettings) {
$(document).ready(function(){
$(document).bind('sendMessage', function(msg) {
alert('MY_EVENT');
});
});
})(jQuery, Drupal, drupalSettings);
функция точно создаётся. Точка останова на ней срабатывает.
Но вот при попытке вызвать её с помощью ajax возникает ошибка
Произошла ошибка во время выполнения ответа Ajax: TypeError: $element[response.method] is not a function
Складываеся впечатление, что вызов происходит в другой области видимости.
Пробовал addClass вызывать у одного из объектов - срабатывает отлично.
Подключат этому объектку функцию, не видит её.
Который день бьюсь. Объясните, пожалуйста. Как объявить функцию так, чтобы drupal AJAX её увидел?