You are here

protected function BlazyStyleOptionsTrait::getViewsAsOptions in Blazy 8.2

Returns an array of views for option list.

Cannot use Views::getViewsAsOptions() as we need to limit to something.

File

src/Dejavu/BlazyStyleOptionsTrait.php, line 151

Class

BlazyStyleOptionsTrait
A Trait common for optional views style plugins.

Namespace

Drupal\blazy\Dejavu

Code

protected function getViewsAsOptions($plugin = 'html_list') {
  if (!isset($this->viewsOptions[$plugin])) {
    $options = [];

    // Convert list of objects to options for the form.
    foreach (Views::getEnabledViews() as $view_name => $view) {
      foreach ($view
        ->get('display') as $id => $display) {
        $valid = isset($display['display_options']['style']['type']) && $display['display_options']['style']['type'] == $plugin;
        if ($valid) {
          $options[$view_name . ':' . $id] = $view
            ->label() . ' (' . $display['display_title'] . ')';
        }
      }
    }
    $this->viewsOptions[$plugin] = $options;
  }
  return $this->viewsOptions[$plugin];
}