/** * {@inheritdoc} */ public function buildForm(array $form, FormStateInterface $form_state) { // During the initial form build, add this form object to the form state and // allow for initial preparation before form building and processing. if (!$form_state->has('entity_form_initialized')) { $this->init($form_state); } $form['#attributes']['class'][] = 'entity-browser-form'; $form['#browser_parts'] = ['widget_selector' => 'widget_selector', 'widget' => 'widget', 'selection_display' => 'selection_display']; $this->entity_browser->getWidgetSelector()->setDefaultWidget($this->getCurrentWidget($form_state)); $form[$form['#browser_parts']['widget_selector']] = $this->entity_browser->getWidgetSelector()->getForm($form, $form_state); $form[$form['#browser_parts']['widget']] = $this->entity_browser->getWidgets()->get($this->getCurrentWidget($form_state))->getForm($form, $form_state, $this->entity_browser->getAdditionalWidgetParameters()); $form['actions'] = ['submit' => ['#type' => 'submit', '#value' => t('Select'), '#attributes' => ['class' => ['is-entity-browser-submit']]]]; $form[$form['#browser_parts']['selection_display']] = $this->entity_browser->getSelectionDisplay()->getForm($form, $form_state); if ($this->entity_browser->getDisplay() instanceof DisplayAjaxInterface) { $this->entity_browser->getDisplay()->addAjax($form); } return $form; }