Пример #1
0
 /**
  * {@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;
 }