annotate core/lib/Drupal/Core/Action/ConfigurableActionBase.php @ 19:fa3358dc1485 tip

Add ndrum files
author Chris Cannam
date Wed, 28 Aug 2019 13:14:47 +0100
parents af1871eacc83
children
rev   line source
Chris@0 1 <?php
Chris@0 2
Chris@0 3 namespace Drupal\Core\Action;
Chris@0 4
Chris@18 5 use Drupal\Component\Plugin\ConfigurableInterface;
Chris@0 6 use Drupal\Component\Plugin\ConfigurablePluginInterface;
Chris@18 7 use Drupal\Component\Plugin\DependentPluginInterface;
Chris@0 8 use Drupal\Core\Form\FormStateInterface;
Chris@0 9 use Drupal\Core\Plugin\PluginFormInterface;
Chris@0 10
Chris@0 11 /**
Chris@0 12 * Provides a base implementation for a configurable Action plugin.
Chris@0 13 */
Chris@18 14 abstract class ConfigurableActionBase extends ActionBase implements ConfigurableInterface, DependentPluginInterface, ConfigurablePluginInterface, PluginFormInterface {
Chris@0 15
Chris@0 16 /**
Chris@0 17 * {@inheritdoc}
Chris@0 18 */
Chris@0 19 public function __construct(array $configuration, $plugin_id, $plugin_definition) {
Chris@0 20 parent::__construct($configuration, $plugin_id, $plugin_definition);
Chris@0 21
Chris@0 22 $this->setConfiguration($configuration);
Chris@0 23 }
Chris@0 24
Chris@0 25 /**
Chris@0 26 * {@inheritdoc}
Chris@0 27 */
Chris@0 28 public function defaultConfiguration() {
Chris@0 29 return [];
Chris@0 30 }
Chris@0 31
Chris@0 32 /**
Chris@0 33 * {@inheritdoc}
Chris@0 34 */
Chris@0 35 public function getConfiguration() {
Chris@0 36 return $this->configuration;
Chris@0 37 }
Chris@0 38
Chris@0 39 /**
Chris@0 40 * {@inheritdoc}
Chris@0 41 */
Chris@0 42 public function setConfiguration(array $configuration) {
Chris@0 43 $this->configuration = $configuration + $this->defaultConfiguration();
Chris@0 44 }
Chris@0 45
Chris@0 46 /**
Chris@0 47 * {@inheritdoc}
Chris@0 48 */
Chris@0 49 public function validateConfigurationForm(array &$form, FormStateInterface $form_state) {
Chris@0 50 }
Chris@0 51
Chris@0 52 /**
Chris@0 53 * {@inheritdoc}
Chris@0 54 */
Chris@0 55 public function calculateDependencies() {
Chris@0 56 return [];
Chris@0 57 }
Chris@0 58
Chris@0 59 }