context-8.x-4.x-dev/src/ContextReactionPluginBase.php
src/ContextReactionPluginBase.php
<?php namespace Drupal\context; use Drupal\Core\Form\FormStateInterface; use Drupal\Core\Plugin\PluginBase; /** * Provides a plugin base for Context Reactions. */ abstract class ContextReactionPluginBase extends PluginBase implements ContextReactionInterface { /** * {@inheritdoc} */ public function __construct(array $configuration, $plugin_id, $plugin_definition) { parent::__construct($configuration, $plugin_id, $plugin_definition); $this->setConfiguration($configuration); } /** * {@inheritdoc} */ public function getId() { if (isset($this->getConfiguration()['id'])) { return $this->getConfiguration()['id']; } return NULL; } /** * {@inheritdoc} */ public function getConfiguration() { return [ 'id' => $this->getPluginId(), ] + $this->configuration; } /** * {@inheritdoc} */ public function setConfiguration(array $configuration) { $this->configuration = $configuration + $this->defaultConfiguration(); return $this; } /** * Form validation handler is optional. * * {@inheritdoc} */ public function validateConfigurationForm(array &$form, FormStateInterface $form_state) {} /** * {@inheritdoc} */ public function defaultConfiguration() { return [ 'saved' => FALSE, ]; } /** * {@inheritdoc} */ public function calculateDependencies() { return []; } }