field_event_dispatcher.module in Hook Event Dispatcher 3.x
Same filename and directory in other branches
Field event dispatcher submodule.
File
modules/field_event_dispatcher/field_event_dispatcher.moduleView source
<?php
/**
 * @file
 * Field event dispatcher submodule.
 */
use Drupal\Core\Field\FormatterInterface;
use Drupal\Core\Field\FieldDefinitionInterface;
use Drupal\Core\Field\WidgetInterface;
use Drupal\Core\Form\FormStateInterface;
use Drupal\field_event_dispatcher\Event\Field\FieldFormatterInfoAlterEvent;
use Drupal\field_event_dispatcher\Event\Field\FieldFormatterSettingsSummaryAlterEvent;
use Drupal\field_event_dispatcher\Event\Field\FieldFormatterThirdPartySettingsFormEvent;
use Drupal\field_event_dispatcher\Event\Field\FieldWidgetSettingsSummaryAlterEvent;
use Drupal\field_event_dispatcher\Event\Field\FieldWidgetThirdPartySettingsFormEvent;
use Drupal\field_event_dispatcher\Event\Field\WidgetFormAlterEvent;
use Drupal\field_event_dispatcher\Event\Field\WidgetMultivalueFormAlterEvent;
use Drupal\field_event_dispatcher\Event\Field\WidgetTypeFormAlterEvent;
// @todo hook_field_info_alter()
// @todo hook_field_ui_preconfigured_options_alter()
// @todo hook_field_storage_config_update_forbid()
// @todo hook_field_widget_info_alter()
// @todo hook_field_info_max_weight()
// @todo hook_field_purge_field_storage()
// @todo hook_field_purge_field()
/**
 * Implements hook_field_formatter_settings_summary_alter().
 *
 * {@inheritdoc}
 */
function field_event_dispatcher_field_formatter_settings_summary_alter(array &$summary, array $context) {
  /** @var \Drupal\hook_event_dispatcher\Manager\HookEventDispatcherManagerInterface $manager */
  $manager = Drupal::service('hook_event_dispatcher.manager');
  $event = new FieldFormatterSettingsSummaryAlterEvent($summary, $context);
  $manager
    ->register($event);
}
/**
 * Implements hook_field_formatter_third_party_settings_form().
 *
 * {@inheritdoc}
 */
function field_event_dispatcher_field_formatter_third_party_settings_form(FormatterInterface $plugin, FieldDefinitionInterface $fieldDefinition, string $viewMode, array $form, FormStateInterface $formState) {
  /** @var \Drupal\hook_event_dispatcher\Manager\HookEventDispatcherManagerInterface $manager */
  $manager = Drupal::service('hook_event_dispatcher.manager');
  $event = new FieldFormatterThirdPartySettingsFormEvent($plugin, $fieldDefinition, $viewMode, $form, $formState);
  $manager
    ->register($event);
  return $event
    ->getElements();
}
/**
 * Implements hook_field_widget_form_alter().
 *
 * {@inheritdoc}
 */
function field_event_dispatcher_field_widget_form_alter(array &$element, FormStateInterface $formState, array $context) {
  /** @var \Drupal\hook_event_dispatcher\Manager\HookEventDispatcherManagerInterface $manager */
  $manager = Drupal::service('hook_event_dispatcher.manager');
  $manager
    ->register(new WidgetFormAlterEvent($element, $formState, $context));
  $manager
    ->register(new WidgetTypeFormAlterEvent($element, $formState, $context));
}
/**
 * Implements hook_field_widget_multivalue_form_alter().
 *
 * {@inheritdoc}
 */
function field_event_dispatcher_field_widget_multivalue_form_alter(array &$elements, FormStateInterface $formState, array $context) {
  /** @var \Drupal\hook_event_dispatcher\Manager\HookEventDispatcherManagerInterface $manager */
  $manager = Drupal::service('hook_event_dispatcher.manager');
  $manager
    ->register(new WidgetMultivalueFormAlterEvent($elements, $formState, $context));
}
/**
 * Implements hook_field_formatter_info_alter().
 *
 * {@inheritdoc}
 */
function field_event_dispatcher_field_formatter_info_alter(array &$info) {
  /** @var \Drupal\hook_event_dispatcher\Manager\HookEventDispatcherManagerInterface $manager */
  $manager = \Drupal::service('hook_event_dispatcher.manager');
  $event = new FieldFormatterInfoAlterEvent($info);
  $manager
    ->register($event);
}
/**
 * Implements hook_field_widget_settings_summary_alter().
 *
 * {@inheritdoc}
 */
function field_event_dispatcher_field_widget_settings_summary_alter(array &$summary, array $context) {
  /** @var \Drupal\hook_event_dispatcher\Manager\HookEventDispatcherManagerInterface $manager */
  $manager = Drupal::service('hook_event_dispatcher.manager');
  $event = new FieldWidgetSettingsSummaryAlterEvent($summary, $context);
  $manager
    ->register($event);
}
/**
 * Implements hook_field_widget_third_party_settings_form().
 *
 * {@inheritdoc}
 */
function field_event_dispatcher_field_widget_third_party_settings_form(WidgetInterface $plugin, FieldDefinitionInterface $fieldDefinition, string $formMode, array $form, FormStateInterface $formState) {
  /** @var \Drupal\hook_event_dispatcher\Manager\HookEventDispatcherManagerInterface $manager */
  $manager = Drupal::service('hook_event_dispatcher.manager');
  $event = new FieldWidgetThirdPartySettingsFormEvent($plugin, $fieldDefinition, $formMode, $form, $formState);
  $manager
    ->register($event);
  return $event
    ->getElements();
}