3 namespace Drupal\entity_browser_test\Plugin\EntityBrowser\Widget;
5 use Drupal\Core\Access\AccessResult;
6 use Drupal\Core\Form\FormStateInterface;
7 use Drupal\entity_browser\WidgetBase;
10 * Dummy widget implementation for test purposes.
12 * @EntityBrowserWidget(
14 * label = @Translation("Dummy widget"),
15 * description = @Translation("Dummy widget existing for testing purposes."),
19 class DummyWidget extends WidgetBase {
22 * Entity to be returned.
24 * @var \Drupal\Core\Entity\EntityInterface
31 public function defaultConfiguration() {
32 return ['text' => ''] + parent::defaultConfiguration();
38 public function getForm(array &$original_form, FormStateInterface $form_state, array $additional_widget_parameters) {
40 '#markup' => $this->configuration['text'],
48 public function submit(array &$element, array &$form, FormStateInterface $form_state) {
49 $this->selectEntities([$this->entity], $form_state);
55 protected function prepareEntities(array $form, FormStateInterface $form_state) {
56 return $form_state->getValue('dummy_entities', []);
62 public function access() {
63 if (\Drupal::state()->get('eb_test_dummy_widget_access', TRUE)) {
64 $access = AccessResult::allowed();
65 $access->addCacheContexts(['eb_dummy']);
68 $access = AccessResult::forbidden();
69 $access->addCacheContexts(['eb_dummy']);