vimeo_player-1.0.0-rc1/src/Controller/VimeoPlayerController.php
src/Controller/VimeoPlayerController.php
<?php
namespace Drupal\vimeo_player\Controller;
use Drupal\Core\Ajax\AjaxResponse;
use Drupal\Core\Controller\ControllerBase;
use Drupal\vimeo_player\Event\VimeoPlayerEvent;
use Symfony\Component\DependencyInjection\Attribute\Autowire;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Contracts\EventDispatcher\EventDispatcherInterface;
/**
* Controller for vimeo player actions.
*/
class VimeoPlayerController extends ControllerBase {
public function __construct(
#[Autowire(service: 'event_dispatcher')]
protected EventDispatcherInterface $eventDispatcher
) {
}
/**
* Responds to the AJAX request.
*
* @param \Symfony\Component\HttpFoundation\Request $request
* The incoming request object.
*
* @return \Symfony\Component\HttpFoundation\Response
* The AJAX response containing the rendered entity content.
*/
public function event(Request $request): Response {
// Get data from the POST request.
$data = $request->request->all();
$vimeo_event = new VimeoPlayerEvent($data['name'], $data['data'], $data['embed_options'], $data['video_info']);
$this->eventDispatcher->dispatch($vimeo_event, VimeoPlayerEvent::VIMEO_PLAYER_EVENT);
$response = new AjaxResponse();
return $response;
}
}
