You are here

public static function Sliders::isApplicable 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::isApplicable()

Verify this plugin can be used on the form element.

Parameters

mixed $handler: The handler type we are altering (e.g. filter, pager, sort).

array $options: The options for this handler.

Return value

bool If this plugin can be used.

Overrides FilterWidgetBase::isApplicable

File

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

Class

Sliders
JQuery UI slider widget implementation.

Namespace

Drupal\better_exposed_filters\Plugin\better_exposed_filters\filter

Code

public static function isApplicable($filter = NULL, array $filter_options = []) {

  /** @var \Drupal\views\Plugin\views\filter\FilterPluginBase $filter */
  $is_applicable = FALSE;

  // The date filter handler extends the numeric filter handler so we have
  // to exclude it specifically.
  $is_numeric_filter = is_a($filter, 'Drupal\\views\\Plugin\\views\\filter\\NumericFilter');
  $is_range_filter = is_a($filter, 'Drupal\\range\\Plugin\\views\\filter\\Range');
  $is_date_filter = is_a($filter, 'Drupal\\views\\Plugin\\views\\filter\\Date');
  if (($is_numeric_filter || $is_range_filter) && !$is_date_filter && !$filter
    ->isAGroup()) {
    $is_applicable = TRUE;
  }
  return $is_applicable;
}