component_library-1.0.x-dev/src/Form/ComponentOverrideFormTrait.php

src/Form/ComponentOverrideFormTrait.php
<?php

declare(strict_types=1);

namespace Drupal\component_library\Form;

use Drupal\component_library\Entity\ComponentOverride;
use Drupal\Core\Form\FormStateInterface;

/**
 * Component override form trait.
 */
trait ComponentOverrideFormTrait {

  /**
   * Get value.
   *
   * Helper function to resolve a value from either plugin data, the override
   * entity, or the prepareOverrideEvent.
   *
   * @param string $key
   *   The value to retrieve.
   * @param \Drupal\component_library\Entity\ComponentOverride $override
   *   The override entity.
   * @param \Drupal\Core\Form\FormStateInterface|null $form_state
   *   The form state.
   *
   * @return string|null
   *   The value.
   */
  public function getValue(string $key, ComponentOverride $override, ?FormStateInterface $form_state = NULL): ?string {
    $value = NULL;
    $data = $override->getPluginData();
    if ($value === NULL && \array_key_exists($key, $data)) {
      $value = $data[$key];
    }
    if ($value === NULL) {
      $value = $override->get($key);
    }
    if ($value === NULL) {
      $value = $this->prepareOverrideEvent->get($key);
    }
    return $value;
  }

}

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc