ConfigurableEventHandlerBase.php in Rules 8.3
File
src/EventHandler/ConfigurableEventHandlerBase.php
View source
<?php
namespace Drupal\rules\EventHandler;
use Drupal\Core\Form\FormStateInterface;
use Drupal\rules\Core\RulesConfigurableEventHandlerInterface;
use Drupal\rules\Core\RulesDefaultEventHandler;
abstract class ConfigurableEventHandlerBase extends RulesDefaultEventHandler implements RulesConfigurableEventHandlerInterface {
protected $configuration = [];
public function extractConfigurationFormValues(array &$form, FormStateInterface $form_state) {
foreach ($this
->defaultConfiguration() as $key => $configuration) {
$this->configuration[$key] = $form_state
->hasValue($key) ? $form_state
->getValue($key) : $configuration;
}
}
public function getConfiguration() {
return $this->configuration;
}
public function setConfiguration(array $configuration) {
$this->configuration = $configuration + $this
->defaultConfiguration();
return $this;
}
public function defaultConfiguration() {
return [];
}
}