<?php
-namespace Civi\Afform\behavior;
+namespace Civi\Afform\Behavior;
use Civi\Afform\AbstractBehavior;
use Civi\Afform\Event\AfformSubmitEvent;
namespace Civi\Api4\Subscriber;
+use Civi\Core\Service\AutoService;
use Civi\Afform\FormDataModel;
use Civi\API\Events;
use Civi\Api4\Afform;
/**
* Preprocess api autocomplete requests
+ * @service
+ * @internal
*/
-class AutocompleteSubscriber implements EventSubscriberInterface {
+class AfformAutocompleteSubscriber extends AutoService implements EventSubscriberInterface {
/**
* @return array
* @param \Civi\API\Event\PrepareEvent $event
* API preparation event.
*/
- public function onApiPrepare(\Civi\API\Event\PrepareEvent $event) {
+ public function onApiPrepare(\Civi\API\Event\PrepareEvent $event): void {
$apiRequest = $event->getApiRequest();
if (is_object($apiRequest) && is_a($apiRequest, 'Civi\Api4\Generic\AutocompleteAction')) {
$formName = $apiRequest->getFormName();
$dispatcher->addListener('hook_civicrm_alterAngular', ['\Civi\Afform\AfformMetadataInjector', 'preprocess']);
$dispatcher->addListener('hook_civicrm_check', ['\Civi\Afform\StatusChecks', 'hook_civicrm_check']);
$dispatcher->addListener('civi.afform.get', ['\Civi\Api4\Action\Afform\Get', 'getCustomGroupBlocks']);
- $dispatcher->addSubscriber(new \Civi\Api4\Subscriber\AutocompleteSubscriber());
- $dispatcher->addSubscriber(new \Civi\Afform\Behavior\ContactAutofill());
- $dispatcher->addSubscriber(new \Civi\Afform\Behavior\ContactDedupe());
// Register support for email tokens
if (CRM_Extension_System::singleton()->getMapper()->isActiveModule('authx')) {