Including security review as a submodule - with patched for Yaffs.
[yaffs-website] / web / modules / contrib / entity_browser / src / WidgetSelectorBase.php
1 <?php
2
3 namespace Drupal\entity_browser;
4
5 use Drupal\Component\Utility\NestedArray;
6 use Drupal\Core\Plugin\PluginBase;
7 use Drupal\Core\Form\FormStateInterface;
8
9 /**
10  * Base class for widget selector plugins.
11  */
12 abstract class WidgetSelectorBase extends PluginBase implements WidgetSelectorInterface {
13
14   use PluginConfigurationFormTrait;
15
16   /**
17    * Plugin label.
18    *
19    * @var string
20    */
21   protected $label;
22
23   /**
24    * Available widgets.
25    *
26    * @var array
27    */
28   protected $widgets_ids;
29
30   /**
31    * ID of the default widget.
32    *
33    * @var string
34    */
35   protected $defaultWidget;
36
37   /**
38    * {@inheritdoc}
39    */
40   public function __construct($configuration, $plugin_id, $plugin_definition) {
41     parent::__construct($configuration, $plugin_id, $plugin_definition);
42     $this->setConfiguration($configuration);
43     $this->widget_ids = isset($this->configuration['widget_ids']) ? $this->configuration['widget_ids'] : [];
44   }
45
46   /**
47    * {@inheritdoc}
48    */
49   public function defaultConfiguration() {
50     return [];
51   }
52
53   /**
54    * {@inheritdoc}
55    */
56   public function getConfiguration() {
57     return array_diff_key(
58       $this->configuration,
59       ['widget_ids' => 0]
60     );
61   }
62
63   /**
64    * {@inheritdoc}
65    */
66   public function setConfiguration(array $configuration) {
67     $this->configuration = NestedArray::mergeDeep(
68       $this->defaultConfiguration(),
69       $configuration
70     );
71   }
72
73   /**
74    * {@inheritdoc}
75    */
76   public function calculateDependencies() {
77     return [];
78   }
79
80   /**
81    * {@inheritdoc}
82    */
83   public function label() {
84     return $this->label;
85   }
86
87   /**
88    * {@inheritdoc}
89    */
90   protected function getDefaultWidget() {
91     return $this->defaultWidget;
92   }
93
94   /**
95    * {@inheritdoc}
96    */
97   public function setDefaultWidget($widget) {
98     $this->defaultWidget = $widget;
99   }
100
101   /**
102    * {@inheritdoc}
103    */
104   public function validate(array &$form, FormStateInterface $form_state) {}
105
106   /**
107    * {@inheritdoc}
108    */
109   public function submit(array &$form, FormStateInterface $form_state) {}
110
111 }