Newer
Older
Angie Byron
committed
<?php
namespace Drupal\views\Plugin\Derivative;
Angie Byron
committed
Dries Buytaert
committed
use Drupal\Component\Plugin\Derivative\DeriverBase;
Dries Buytaert
committed
use Drupal\views\Views;
Angie Byron
committed
/**
* A derivative class which provides automatic wizards for all base tables.
*
* The derivatives store all base table plugin information.
Angie Byron
committed
*/
Dries Buytaert
committed
class DefaultWizardDeriver extends DeriverBase {
Angie Byron
committed
/**
* {@inheritdoc}
Angie Byron
committed
*/
Alex Pott
committed
public function getDerivativeDefinitions($base_plugin_definition) {
Dries Buytaert
committed
$views_data = Views::viewsData();
catch
committed
$base_tables = array_keys($views_data->fetchBaseTables());
$this->derivatives = array();
Angie Byron
committed
foreach ($base_tables as $table) {
Angie Byron
committed
$views_info = $views_data->get($table);
Angie Byron
committed
if (empty($views_info['table']['wizard_id'])) {
$this->derivatives[$table] = array(
'id' => 'standard',
'base_table' => $table,
'title' => $views_info['table']['base']['title'],
'class' => 'Drupal\views\Plugin\views\wizard\Standard'
);
}
}
return parent::getDerivativeDefinitions($base_plugin_definition);
Angie Byron
committed
}