3 namespace Drupal\entity_browser_test\Form;
5 use Drupal\Core\Entity\EntityInterface;
6 use Drupal\Core\Form\FormBase;
7 use Drupal\Core\Form\FormStateInterface;
8 use Drupal\entity_browser\Element\EntityBrowserElement;
11 * Provides a user login form.
13 class FormElementTest extends FormBase {
18 public function getFormId() {
19 return 'entity_browser_test_element';
25 public function buildForm(array $form, FormStateInterface $form_state) {
26 $form['#cache']['max-age'] = 0;
28 $form['fancy_entity_browser'] = [
29 '#type' => 'entity_browser',
30 '#entity_browser' => 'test_entity_browser_iframe',
33 if ($default = \Drupal::request()->get('default_entity')) {
34 $form['fancy_entity_browser']['#default_value'] = [EntityBrowserElement::processEntityId($default)];
37 if ($selection_mode = \Drupal::request()->get('selection_mode')) {
38 $form['fancy_entity_browser']['#selection_mode'] = $selection_mode;
41 $form['main_submit'] = [
43 '#value' => $this->t('Submit'),
52 public function submitForm(array &$form, FormStateInterface $form_state) {
53 $entities = $form_state->getValue(['fancy_entity_browser', 'entities']);
55 $message = 'Selected entities: ';
56 $message .= implode(', ', array_map(
57 function (EntityInterface $item) {
58 return $item->label();
62 drupal_set_message($message);