vendor/ibexa/admin-ui/src/lib/EventListener/AddNewTranslationFieldDefinition.php line 21

Open in your IDE?
  1. <?php
  2. /**
  3.  * @copyright Copyright (C) Ibexa AS. All rights reserved.
  4.  * @license For full copyright and license information view LICENSE file distributed with this source code.
  5.  */
  6. declare(strict_types=1);
  7. namespace Ibexa\AdminUi\EventListener;
  8. use Ibexa\Contracts\AdminUi\Event\FieldDefinitionMappingEvent;
  9. use Symfony\Component\EventDispatcher\EventSubscriberInterface;
  10. class AddNewTranslationFieldDefinition implements EventSubscriberInterface
  11. {
  12.     public static function getSubscribedEvents(): array
  13.     {
  14.         return [FieldDefinitionMappingEvent::NAME => ['addNewTranslation'40]];
  15.     }
  16.     public function addNewTranslation(FieldDefinitionMappingEvent $event): void
  17.     {
  18.         $baseLanguage $event->getBaseLanguage();
  19.         $targetLanguage $event->getTargetLanguage();
  20.         if (null === $baseLanguage || null === $targetLanguage) {
  21.             return;
  22.         }
  23.         $fieldDefinitionData $event->getFieldDefinitionData();
  24.         $fieldDefinition $event->getFieldDefinition();
  25.         $fieldDefinitionData->names[$targetLanguage->languageCode] = $fieldDefinition->getName($baseLanguage->languageCode);
  26.         $fieldDefinitionData->descriptions[$targetLanguage->languageCode] = $fieldDefinition->getDescription($baseLanguage->languageCode);
  27.         $event->setFieldDefinitionData($fieldDefinitionData);
  28.     }
  29. }
  30. class_alias(AddNewTranslationFieldDefinition::class, 'EzSystems\EzPlatformAdminUi\EventListener\AddNewTranslationFieldDefinition');