3 namespace Drupal\workflows\Plugin;
5 use Drupal\Component\Plugin\PluginAwareInterface;
6 use Drupal\Component\Plugin\PluginInspectionInterface;
7 use Drupal\Core\Form\FormStateInterface;
8 use Drupal\Core\Plugin\PluginFormInterface;
9 use Drupal\Core\StringTranslation\StringTranslationTrait;
12 * A base class for workflow type transition forms.
14 abstract class WorkflowTypeTransitionFormBase implements PluginFormInterface, PluginAwareInterface {
16 use StringTranslationTrait;
21 * @var \Drupal\workflows\WorkflowTypeInterface
23 protected $workflowType;
28 public function setPlugin(PluginInspectionInterface $plugin) {
29 $this->workflowType = $plugin;
35 public function validateConfigurationForm(array &$form, FormStateInterface $form_state) {
41 public function submitConfigurationForm(array &$form, FormStateInterface $form_state) {
42 $values = $form_state->getValues();
43 $transition = $form_state->get('transition');
44 $configuration = $this->workflowType->getConfiguration();
45 $configuration['transitions'][$transition->id()] = $values + $configuration['transitions'][$transition->id()];
46 $this->workflowType->setConfiguration($configuration);