ConfigHandlerExtra::buildForm

public ConfigHandlerExtra::buildForm(array $form, FormStateInterface $form_state)

Form constructor.

Parameters

array $form: An associative array containing the structure of the form.

\Drupal\Core\Form\FormStateInterface $form_state: The current state of the form.

Return value

array The form structure.

Overrides FormInterface::buildForm

File

core/modules/views_ui/src/Form/Ajax/ConfigHandlerExtra.php, line 48

Class

ConfigHandlerExtra
Provides a form for configuring extra information for a Views UI item.

Namespace

Drupal\views_ui\Form\Ajax

Code

public function buildForm(array $form, FormStateInterface $form_state) {
  $view = $form_state->get('view');
  $display_id = $form_state->get('display_id');
  $type = $form_state->get('type');
  $id = $form_state->get('id');

  $form = array(
    'options' => array(
      '#tree' => TRUE,
      '#theme_wrappers' => array('container'),
      '#attributes' => array('class' => array('scroll'), 'data-drupal-views-scroll' => TRUE),
    ),
  );
  $executable = $view->getExecutable();
  if (!$executable->setDisplay($display_id)) {
    $form['markup'] = array('#markup' => $this->t('Invalid display id @display', array('@display' => $display_id)));
    return $form;
  }
  $item = $executable->getHandler($display_id, $type, $id);

  if ($item) {
    $handler = $executable->display_handler->getHandler($type, $id);
    if (empty($handler)) {
      $form['markup'] = array('#markup' => $this->t("Error: handler for @table > @field doesn't exist!", array('@table' => $item['table'], '@field' => $item['field'])));
    }
    else {
      $handler->init($executable, $executable->display_handler, $item);
      $types = ViewExecutable::getHandlerTypes();

      $form['#title'] = $this->t('Configure extra settings for @type %item', array('@type' => $types[$type]['lstitle'], '%item' => $handler->adminLabel()));

      $form['#section'] = $display_id . '-' . $type . '-' . $id;

      // Get form from the handler.
      $handler->buildExtraOptionsForm($form['options'], $form_state);
      $form_state->set('handler', $handler);
    }

    $view->getStandardButtons($form, $form_state, 'views_ui_config_item_extra_form');
  }
  return $form;
}
doc_Drupal
2016-10-29 08:53:30
Comments
Leave a Comment

Please login to continue.