FlagSearchApiSubscriber.php in Flag Search API 8
File
src/EventSubscriber/FlagSearchApiSubscriber.php
View source
<?php
namespace Drupal\flag_search_api\EventSubscriber;
use Drupal\flag\Event\FlaggingEvent;
use Drupal\flag\Event\UnflaggingEvent;
use Drupal\flag_search_api\FlagSearchApiReindexService;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
class FlagSearchApiSubscriber implements EventSubscriberInterface {
protected $flagSearchApiReindex;
public function __construct(FlagSearchApiReindexService $flag_search_api_reindex_service) {
$this->flagSearchApiReindex = $flag_search_api_reindex_service;
}
public static function getSubscribedEvents() {
$events['flag.entity_flagged'] = [
'flagEntityFlagged',
];
$events['flag.entity_unflagged'] = [
'flagEntityUnflagged',
];
return $events;
}
public function flagEntityFlagged(FlaggingEvent $event) {
$this->flagSearchApiReindex
->reindexItem($event
->getFlagging());
}
public function flagEntityUnflagged(UnflaggingEvent $event) {
$flaggings = $event
->getFlaggings();
foreach ($flaggings as $flagging) {
$this->flagSearchApiReindex
->reindexItem($flagging);
}
}
}