You are here

public function HandlerBase::showExposeForm in Drupal 9

Same name and namespace in other branches
  1. 8 core/modules/views/src/Plugin/views/HandlerBase.php \Drupal\views\Plugin\views\HandlerBase::showExposeForm()

Shortcut to display the exposed options form.

Overrides ViewsHandlerInterface::showExposeForm

2 calls to HandlerBase::showExposeForm()
FilterPluginBase::buildOptionsForm in core/modules/views/src/Plugin/views/filter/FilterPluginBase.php
Provide the basic form which calls through to subforms. If overridden, it is best to call through to the parent, or to at least make sure all of the functions in this form are called.
SortPluginBase::buildOptionsForm in core/modules/views/src/Plugin/views/sort/SortPluginBase.php
Basic options for all sort criteria.

File

core/modules/views/src/Plugin/views/HandlerBase.php, line 442

Class

HandlerBase
Base class for Views handler plugins.

Namespace

Drupal\views\Plugin\views

Code

public function showExposeForm(&$form, FormStateInterface $form_state) {
  if (empty($this->options['exposed'])) {
    return;
  }
  $this
    ->buildExposeForm($form, $form_state);

  // When we click the expose button, we add new gadgets to the form but they
  // have no data in POST so their defaults get wiped out. This prevents
  // these defaults from getting wiped out. This setting will only be TRUE
  // during a 2nd pass rerender.
  if ($form_state
    ->get('force_expose_options')) {
    foreach (Element::children($form['expose']) as $id) {
      if (isset($form['expose'][$id]['#default_value']) && !isset($form['expose'][$id]['#value'])) {
        $form['expose'][$id]['#value'] = $form['expose'][$id]['#default_value'];
      }
    }
  }
}