You are here

abstract class YamlFormHandlerBase in YAML Form 8

Provides a base class for a form handler.

Hierarchy

Expanded class hierarchy of YamlFormHandlerBase

See also

\Drupal\yamlform\YamlFormHandlerInterface

\Drupal\yamlform\YamlFormHandlerManager

\Drupal\yamlform\YamlFormHandlerManagerInterface

Plugin API

6 files declare their use of YamlFormHandlerBase
BrokenYamlFormHandler.php in src/Plugin/YamlFormHandler/BrokenYamlFormHandler.php
DebugYamlFormHandler.php in modules/yamlform_devel/src/Plugin/YamlFormHandler/DebugYamlFormHandler.php
DebugYamlFormHandler.php in tests/modules/yamlform_test/src/Plugin/YamlFormHandler/DebugYamlFormHandler.php
EmailYamlFormHandler.php in src/Plugin/YamlFormHandler/EmailYamlFormHandler.php
RemotePostYamlFormHandler.php in src/Plugin/YamlFormHandler/RemotePostYamlFormHandler.php

... See full list

File

src/YamlFormHandlerBase.php, line 18

Namespace

Drupal\yamlform
View source
abstract class YamlFormHandlerBase extends PluginBase implements YamlFormHandlerInterface {

  /**
   * The form .
   *
   * @var \Drupal\yamlform\YamlFormInterface
   */
  protected $yamlform = NULL;

  /**
   * The form handler ID.
   *
   * @var string
   */
  protected $handler_id;

  /**
   * The form handler label.
   *
   * @var string
   */
  protected $label;

  /**
   * The form handler status.
   *
   * @var bool
   */
  protected $status = 1;

  /**
   * The weight of the form handler.
   *
   * @var int|string
   */
  protected $weight = '';

  /**
   * A logger instance.
   *
   * @var \Psr\Log\LoggerInterface
   */
  protected $logger;

  /**
   * {@inheritdoc}
   */
  public function __construct(array $configuration, $plugin_id, $plugin_definition, LoggerInterface $logger) {
    parent::__construct($configuration, $plugin_id, $plugin_definition);
    $this
      ->setConfiguration($configuration);
    $this->logger = $logger;
  }

  /**
   * {@inheritdoc}
   */
  public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition) {
    return new static($configuration, $plugin_id, $plugin_definition, $container
      ->get('logger.factory')
      ->get('yamlform'));
  }

  /**
   * Initialize form handler.
   *
   * @param \Drupal\yamlform\YamlFormInterface $yamlform
   *   A form object.
   *
   * @return $this
   *   This form handler.
   */
  public function init(YamlFormInterface $yamlform) {
    $this->yamlform = $yamlform;
    return $this;
  }

  /**
   * Get the form that this handler is attached to.
   *
   * @return \Drupal\yamlform\YamlFormInterface
   *   A form.
   */
  public function getYamlForm() {
    return $this->yamlform;
  }

  /**
   * {@inheritdoc}
   */
  public function getSummary() {
    return [
      '#theme' => 'yamlform_handler_' . $this->pluginId . '_summary',
      '#settings' => $this->configuration,
      '#handler' => [
        'id' => $this->pluginDefinition['id'],
        'handler_id' => $this
          ->getHandlerId(),
        'label' => $this
          ->label(),
        'description' => $this->pluginDefinition['description'],
      ],
    ];
  }

  /**
   * {@inheritdoc}
   */
  public function label() {
    return $this
      ->getLabel();
  }

  /**
   * {@inheritdoc}
   */
  public function description() {
    return $this->pluginDefinition['description'];
  }

  /**
   * {@inheritdoc}
   */
  public function cardinality() {
    return $this->pluginDefinition['cardinality'];
  }

  /**
   * {@inheritdoc}
   */
  public function getHandlerId() {
    return $this->handler_id;
  }

  /**
   * {@inheritdoc}
   */
  public function setHandlerId($handler_id) {
    $this->handler_id = $handler_id;
    return $this;
  }

  /**
   * {@inheritdoc}
   */
  public function setLabel($label) {
    $this->label = $label;
    return $this;
  }

  /**
   * {@inheritdoc}
   */
  public function getLabel() {
    return $this->label ?: $this->pluginDefinition['label'];
  }

  /**
   * {@inheritdoc}
   */
  public function setStatus($status) {
    $this->status = $status;
    return $this;
  }

  /**
   * {@inheritdoc}
   */
  public function getStatus() {
    return $this->status;
  }

  /**
   * {@inheritdoc}
   */
  public function setWeight($weight) {
    $this->weight = $weight;
    return $this;
  }

  /**
   * {@inheritdoc}
   */
  public function getWeight() {
    return $this->weight;
  }

  /**
   * {@inheritdoc}
   */
  public function isEnabled() {
    return $this->status ? TRUE : FALSE;
  }

  /**
   * {@inheritdoc}
   */
  public function isDisabled() {
    return !$this
      ->isEnabled();
  }

  /**
   * {@inheritdoc}
   */
  public function getConfiguration() {
    return [
      'id' => $this
        ->getPluginId(),
      'label' => $this
        ->getLabel(),
      'handler_id' => $this
        ->getHandlerId(),
      'status' => $this
        ->getStatus(),
      'weight' => $this
        ->getWeight(),
      'settings' => $this->configuration,
    ];
  }

  /**
   * {@inheritdoc}
   */
  public function setConfiguration(array $configuration) {
    $configuration += [
      'handler_id' => '',
      'label' => '',
      'status' => 1,
      'weight' => '',
      'settings' => [],
    ];
    $this->configuration = $configuration['settings'] + $this
      ->defaultConfiguration();
    $this->handler_id = $configuration['handler_id'];
    $this->label = $configuration['label'];
    $this->weight = $configuration['weight'];
    $this->status = $configuration['status'];
    return $this;
  }

  /**
   * {@inheritdoc}
   */
  public function defaultConfiguration() {
    return [];
  }

  /**
   * {@inheritdoc}
   */
  public function calculateDependencies() {
    return [];
  }

  /**
   * {@inheritdoc}
   */
  public function buildConfigurationForm(array $form, FormStateInterface $form_state) {
    return $form;
  }

  /**
   * {@inheritdoc}
   */
  public function validateConfigurationForm(array &$form, FormStateInterface $form_state) {
  }

  /**
   * {@inheritdoc}
   */
  public function submitConfigurationForm(array &$form, FormStateInterface $form_state) {
  }

  /**
   * {@inheritdoc}
   */
  public function alterElements(array &$elements, YamlFormInterface $yamlform) {
  }

  /**
   * {@inheritdoc}
   */
  public function alterForm(array &$form, FormStateInterface $form_state, YamlFormSubmissionInterface $yamlform_submission) {
  }

  /**
   * {@inheritdoc}
   */
  public function validateForm(array &$form, FormStateInterface $form_state, YamlFormSubmissionInterface $yamlform_submission) {
  }

  /**
   * {@inheritdoc}
   */
  public function submitForm(array &$form, FormStateInterface $form_state, YamlFormSubmissionInterface $yamlform_submission) {
  }

  /**
   * {@inheritdoc}
   */
  public function confirmForm(array &$form, FormStateInterface $form_state, YamlFormSubmissionInterface $yamlform_submission) {
  }

  /**
   * {@inheritdoc}
   */
  public function preCreate(array $values) {
  }

  /**
   * {@inheritdoc}
   */
  public function postCreate(YamlFormSubmissionInterface $yamlform_submission) {
  }

  /**
   * {@inheritdoc}
   */
  public function postLoad(YamlFormSubmissionInterface $yamlform_submission) {
  }

  /**
   * {@inheritdoc}
   */
  public function preDelete(YamlFormSubmissionInterface $yamlform_submission) {
  }

  /**
   * {@inheritdoc}
   */
  public function postDelete(YamlFormSubmissionInterface $yamlform_submission) {
  }

  /**
   * {@inheritdoc}
   */
  public function preSave(YamlFormSubmissionInterface $yamlform_submission) {
  }

  /**
   * {@inheritdoc}
   */
  public function postSave(YamlFormSubmissionInterface $yamlform_submission, $update = TRUE) {
  }

}

Members

Namesort descending Modifiers Type Description Overrides
DependencySerializationTrait::$_entityStorages protected property An array of entity type IDs keyed by the property name of their storages.
DependencySerializationTrait::$_serviceIds protected property An array of service IDs keyed by property name used for serialization.
DependencySerializationTrait::__sleep public function 1
DependencySerializationTrait::__wakeup public function 2
MessengerTrait::$messenger protected property The messenger. 29
MessengerTrait::messenger public function Gets the messenger. 29
MessengerTrait::setMessenger public function Sets the messenger.
PluginBase::$configuration protected property Configuration information passed into the plugin. 1
PluginBase::$pluginDefinition protected property The plugin implementation definition. 1
PluginBase::$pluginId protected property The plugin_id.
PluginBase::DERIVATIVE_SEPARATOR constant A string which is used to separate base plugin IDs from the derivative ID.
PluginBase::getBaseId public function Gets the base_plugin_id of the plugin instance. Overrides DerivativeInspectionInterface::getBaseId
PluginBase::getDerivativeId public function Gets the derivative_id of the plugin instance. Overrides DerivativeInspectionInterface::getDerivativeId
PluginBase::getPluginDefinition public function Gets the definition of the plugin implementation. Overrides PluginInspectionInterface::getPluginDefinition 3
PluginBase::getPluginId public function Gets the plugin_id of the plugin instance. Overrides PluginInspectionInterface::getPluginId
PluginBase::isConfigurable public function Determines if the plugin is configurable.
StringTranslationTrait::$stringTranslation protected property The string translation service. 1
StringTranslationTrait::formatPlural protected function Formats a string containing a count of items.
StringTranslationTrait::getNumberOfPlurals protected function Returns the number of plurals supported by a given language.
StringTranslationTrait::getStringTranslation protected function Gets the string translation service.
StringTranslationTrait::setStringTranslation public function Sets the string translation service to use. 2
StringTranslationTrait::t protected function Translates a string to the current language or to a given language.
YamlFormHandlerBase::$handler_id protected property The form handler ID.
YamlFormHandlerBase::$label protected property The form handler label.
YamlFormHandlerBase::$logger protected property A logger instance.
YamlFormHandlerBase::$status protected property The form handler status.
YamlFormHandlerBase::$weight protected property The weight of the form handler.
YamlFormHandlerBase::$yamlform protected property The form .
YamlFormHandlerBase::alterElements public function Alter form submission form elements. Overrides YamlFormHandlerInterface::alterElements 1
YamlFormHandlerBase::alterForm public function Alter form submission form . Overrides YamlFormHandlerInterface::alterForm 1
YamlFormHandlerBase::buildConfigurationForm public function Form constructor. Overrides PluginFormInterface::buildConfigurationForm 3
YamlFormHandlerBase::calculateDependencies public function Calculates dependencies for the configured plugin. Overrides DependentPluginInterface::calculateDependencies
YamlFormHandlerBase::cardinality public function Returns the form handler cardinality settings. Overrides YamlFormHandlerInterface::cardinality
YamlFormHandlerBase::confirmForm public function Confirm form submission form. Overrides YamlFormHandlerInterface::confirmForm 1
YamlFormHandlerBase::create public static function Creates an instance of the plugin. Overrides ContainerFactoryPluginInterface::create 2
YamlFormHandlerBase::defaultConfiguration public function Gets default configuration for this plugin. Overrides ConfigurablePluginInterface::defaultConfiguration 3
YamlFormHandlerBase::description public function Returns the form handler description. Overrides YamlFormHandlerInterface::description
YamlFormHandlerBase::getConfiguration public function Gets this plugin's configuration. Overrides ConfigurablePluginInterface::getConfiguration
YamlFormHandlerBase::getHandlerId public function Returns the unique ID representing the form handler. Overrides YamlFormHandlerInterface::getHandlerId
YamlFormHandlerBase::getLabel public function Returns the label of the form handler. Overrides YamlFormHandlerInterface::getLabel
YamlFormHandlerBase::getStatus public function Returns the status of the form handler. Overrides YamlFormHandlerInterface::getStatus
YamlFormHandlerBase::getSummary public function Returns a render array summarizing the configuration of the form handler. Overrides YamlFormHandlerInterface::getSummary 2
YamlFormHandlerBase::getWeight public function Returns the weight of the form handler. Overrides YamlFormHandlerInterface::getWeight
YamlFormHandlerBase::getYamlForm public function Get the form that this handler is attached to.
YamlFormHandlerBase::init public function Initialize form handler.
YamlFormHandlerBase::isDisabled public function Returns the form handler disabled indicator. Overrides YamlFormHandlerInterface::isDisabled
YamlFormHandlerBase::isEnabled public function Returns the form handler enabled indicator. Overrides YamlFormHandlerInterface::isEnabled 1
YamlFormHandlerBase::label public function Returns the form handler label. Overrides YamlFormHandlerInterface::label
YamlFormHandlerBase::postCreate public function Acts on a form submission after it is created. Overrides YamlFormHandlerInterface::postCreate 1
YamlFormHandlerBase::postDelete public function Acts on deleted a form submission before the delete hook is invoked. Overrides YamlFormHandlerInterface::postDelete 2
YamlFormHandlerBase::postLoad public function Acts on loaded form submission. Overrides YamlFormHandlerInterface::postLoad 1
YamlFormHandlerBase::postSave public function Acts on a saved form submission before the insert or update hook is invoked. Overrides YamlFormHandlerInterface::postSave 3
YamlFormHandlerBase::preCreate public function Changes the values of an entity before it is created. Overrides YamlFormHandlerInterface::preCreate 1
YamlFormHandlerBase::preDelete public function Acts on a form submission before they are deleted and before hooks are invoked. Overrides YamlFormHandlerInterface::preDelete 1
YamlFormHandlerBase::preSave public function Acts on a form submission before the presave hook is invoked. Overrides YamlFormHandlerInterface::preSave 1
YamlFormHandlerBase::setConfiguration public function Sets the configuration for this plugin instance. Overrides ConfigurablePluginInterface::setConfiguration
YamlFormHandlerBase::setHandlerId public function Sets the id for this form handler. Overrides YamlFormHandlerInterface::setHandlerId
YamlFormHandlerBase::setLabel public function Sets the label for this form handler. Overrides YamlFormHandlerInterface::setLabel
YamlFormHandlerBase::setStatus public function Sets the status for this form handler. Overrides YamlFormHandlerInterface::setStatus
YamlFormHandlerBase::setWeight public function Sets the weight for this form handler. Overrides YamlFormHandlerInterface::setWeight
YamlFormHandlerBase::submitConfigurationForm public function Form submission handler. Overrides PluginFormInterface::submitConfigurationForm 3
YamlFormHandlerBase::submitForm public function Submit form submission form. Overrides YamlFormHandlerInterface::submitForm 3
YamlFormHandlerBase::validateConfigurationForm public function Form validation handler. Overrides PluginFormInterface::validateConfigurationForm
YamlFormHandlerBase::validateForm public function Validate form submission form . Overrides YamlFormHandlerInterface::validateForm 1
YamlFormHandlerBase::__construct public function Constructs a \Drupal\Component\Plugin\PluginBase object. Overrides PluginBase::__construct 2
YamlFormHandlerInterface::CARDINALITY_SINGLE constant Value indicating a single plugin instances are permitted.
YamlFormHandlerInterface::CARDINALITY_UNLIMITED constant Value indicating unlimited plugin instances are permitted.
YamlFormHandlerInterface::RESULTS_IGNORED constant Value indicating form submissions are not processed (ie email or saved) by the handler.
YamlFormHandlerInterface::RESULTS_PROCESSED constant Value indicating form submissions are processed (ie email or saved) by the handler.