You are here

public function Sliders::exposedFormAlter in Better Exposed Filters 8.4

Same name and namespace in other branches
  1. 8.5 src/Plugin/better_exposed_filters/filter/Sliders.php \Drupal\better_exposed_filters\Plugin\better_exposed_filters\filter\Sliders::exposedFormAlter()

Manipulate views exposed from element.

Parameters

array $form: The views configuration form.

\Drupal\Core\Form\FormStateInterface $form_state: Form state.

Overrides FilterWidgetBase::exposedFormAlter

File

src/Plugin/better_exposed_filters/filter/Sliders.php, line 165

Class

Sliders
JQuery UI slider widget implementation.

Namespace

Drupal\better_exposed_filters\Plugin\better_exposed_filters\filter

Code

public function exposedFormAlter(array &$form, FormStateInterface $form_state) {
  $field_id = $this
    ->getExposedFilterFieldId();
  parent::exposedFormAlter($form, $form_state);

  // Attach the JS (@see /js/sliders.js)
  $form[$field_id]['#attached']['library'][] = 'better_exposed_filters/sliders';

  // Set the slider settings.
  $form[$field_id]['#attached']['drupalSettings']['better_exposed_filters']['slider'] = TRUE;
  $form[$field_id]['#attached']['drupalSettings']['better_exposed_filters']['slider_options'][$field_id] = [
    'min' => $this->configuration['min'],
    'max' => $this->configuration['max'],
    'step' => $this->configuration['step'],
    'animate' => $this->configuration['animate'] === self::ANIMATE_CUSTOM ? $this->configuration['animate_ms'] : $this->configuration['animate'],
    'orientation' => $this->configuration['orientation'],
    'id' => Html::getUniqueId($field_id),
    'dataSelector' => Html::getId($field_id),
    'viewId' => $form['#id'],
  ];
}