class EmbedViews in Views entity embed 8
Same name and namespace in other branches
- 2.0.x src/Plugin/EmbedType/EmbedViews.php \Drupal\views_entity_embed\Plugin\EmbedType\EmbedViews
Viws embed type.
Plugin annotation
@EmbedType(
id = "embed_views",
label = @Translation("Views")
)
Hierarchy
- class \Drupal\Component\Plugin\PluginBase implements DerivativeInspectionInterface, PluginInspectionInterface
- class \Drupal\Core\Plugin\PluginBase uses DependencySerializationTrait, MessengerTrait, StringTranslationTrait
- class \Drupal\embed\EmbedType\EmbedTypeBase implements EmbedTypeInterface
- class \Drupal\views_entity_embed\Plugin\EmbedType\EmbedViews implements ContainerFactoryPluginInterface
- class \Drupal\embed\EmbedType\EmbedTypeBase implements EmbedTypeInterface
- class \Drupal\Core\Plugin\PluginBase uses DependencySerializationTrait, MessengerTrait, StringTranslationTrait
Expanded class hierarchy of EmbedViews
File
- src/
Plugin/ EmbedType/ EmbedViews.php, line 20
Namespace
Drupal\views_entity_embed\Plugin\EmbedTypeView source
class EmbedViews extends EmbedTypeBase implements ContainerFactoryPluginInterface {
/**
* {@inheritdoc}
*/
public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition) {
return new static($configuration, $plugin_id, $plugin_definition);
}
/**
* {@inheritdoc}
*/
public function defaultConfiguration() {
return [
'filter_views' => FALSE,
'views_options' => [],
'filter_displays' => FALSE,
'dipslays_options' => [],
];
}
/**
* {@inheritdoc}
*/
public function getDefaultIconUrl() {
return file_create_url(drupal_get_path('module', 'views_entity_embed') . '/js/plugins/drupalviews/views_entity_embed.png');
}
/**
* {@inheritdoc}
*/
public function buildConfigurationForm(array $form, FormStateInterface $form_state) {
$form['filter_views'] = [
'#type' => 'checkbox',
'#title' => $this
->t('Filter which Views to be allowed as options:'),
'#default_value' => $this
->getConfigurationValue('filter_views'),
];
$form['views_options'] = [
'#type' => 'checkboxes',
'#title' => $this
->t('Allowed Views'),
'#default_value' => $this
->getConfigurationValue('views_options'),
'#options' => $this
->getAllViews(),
'#states' => [
'visible' => [
':input[name="type_settings[filter_views]"]' => [
'checked' => TRUE,
],
],
],
];
$form['filter_displays'] = [
'#type' => 'checkbox',
'#title' => $this
->t('Filter which Display to be allowed as options:'),
'#default_value' => $this
->getConfigurationValue('filter_displays'),
];
$form['display_options'] = [
'#type' => 'checkboxes',
'#title' => $this
->t('Allowed displays'),
'#default_value' => $this
->getConfigurationValue('display_options'),
'#options' => $this
->getAllDisplays(),
'#states' => [
'visible' => [
':input[name="type_settings[filter_displays]"]' => [
'checked' => TRUE,
],
],
],
];
return $form;
}
/**
* {@inheritdoc}
*/
public function submitConfigurationForm(array &$form, FormStateInterface $form_state) {
$values = $form_state
->getValues();
if (!$form_state
->hasAnyErrors()) {
$this
->setConfigurationValue('filter_views', $form_state
->getValue('filter_views'));
$this
->setConfigurationValue('filter_displays', $form_state
->getValue('filter_displays'));
// Set views options.
$views_options = $form_state
->getValue('filter_views') ? array_filter($form_state
->getValue('views_options')) : [];
$this
->setConfigurationValue('views_options', $views_options);
// Display options.
$displays_options = $form_state
->getValue('filter_displays') ? array_filter($form_state
->getValue('display_options')) : [];
$this
->setConfigurationValue('display_options', $displays_options);
}
}
/**
* Methods get all views as options list.
*/
protected function getAllViews() {
$views = [];
foreach (Views::getAllViews() as $view) {
if ($view
->enable()) {
$views[$view
->id()] = $view
->label();
}
}
return $views;
}
/**
* Method gets all displays as options list.
*/
protected function getAllDisplays() {
$displays = [];
// Get all display plugins which provides the type.
$display_plugins = Views::pluginManager('display')
->getDefinitions();
$plugin_ids = [];
foreach ($display_plugins as $id => $definition) {
$displays[$definition['class']] = $definition['title'];
}
return $displays;
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
DependencySerializationTrait:: |
protected | property | An array of entity type IDs keyed by the property name of their storages. | |
DependencySerializationTrait:: |
protected | property | An array of service IDs keyed by property name used for serialization. | |
DependencySerializationTrait:: |
public | function | 1 | |
DependencySerializationTrait:: |
public | function | 2 | |
EmbedTypeBase:: |
public | function |
Calculates dependencies for the configured plugin. Overrides DependentPluginInterface:: |
|
EmbedTypeBase:: |
public | function |
Gets this plugin's configuration. Overrides ConfigurableInterface:: |
|
EmbedTypeBase:: |
public | function |
Gets a configuration value. Overrides EmbedTypeInterface:: |
|
EmbedTypeBase:: |
public | function |
Sets the configuration for this plugin instance. Overrides ConfigurableInterface:: |
|
EmbedTypeBase:: |
public | function |
Sets a configuration value. Overrides EmbedTypeInterface:: |
|
EmbedTypeBase:: |
public | function |
Form validation handler. Overrides PluginFormInterface:: |
1 |
EmbedTypeBase:: |
public | function |
Constructs a \Drupal\Component\Plugin\PluginBase object. Overrides PluginBase:: |
|
EmbedViews:: |
public | function |
Form constructor. Overrides EmbedTypeBase:: |
|
EmbedViews:: |
public static | function |
Creates an instance of the plugin. Overrides ContainerFactoryPluginInterface:: |
|
EmbedViews:: |
public | function |
Gets default configuration for this plugin. Overrides EmbedTypeBase:: |
|
EmbedViews:: |
protected | function | Method gets all displays as options list. | |
EmbedViews:: |
protected | function | Methods get all views as options list. | |
EmbedViews:: |
public | function |
Gets the default icon URL for the embed type. Overrides EmbedTypeInterface:: |
|
EmbedViews:: |
public | function |
Form submission handler. Overrides EmbedTypeBase:: |
|
MessengerTrait:: |
protected | property | The messenger. | 29 |
MessengerTrait:: |
public | function | Gets the messenger. | 29 |
MessengerTrait:: |
public | function | Sets the messenger. | |
PluginBase:: |
protected | property | Configuration information passed into the plugin. | 1 |
PluginBase:: |
protected | property | The plugin implementation definition. | 1 |
PluginBase:: |
protected | property | The plugin_id. | |
PluginBase:: |
constant | A string which is used to separate base plugin IDs from the derivative ID. | ||
PluginBase:: |
public | function |
Gets the base_plugin_id of the plugin instance. Overrides DerivativeInspectionInterface:: |
|
PluginBase:: |
public | function |
Gets the derivative_id of the plugin instance. Overrides DerivativeInspectionInterface:: |
|
PluginBase:: |
public | function |
Gets the definition of the plugin implementation. Overrides PluginInspectionInterface:: |
3 |
PluginBase:: |
public | function |
Gets the plugin_id of the plugin instance. Overrides PluginInspectionInterface:: |
|
PluginBase:: |
public | function | Determines if the plugin is configurable. | |
StringTranslationTrait:: |
protected | property | The string translation service. | 1 |
StringTranslationTrait:: |
protected | function | Formats a string containing a count of items. | |
StringTranslationTrait:: |
protected | function | Returns the number of plurals supported by a given language. | |
StringTranslationTrait:: |
protected | function | Gets the string translation service. | |
StringTranslationTrait:: |
public | function | Sets the string translation service to use. | 2 |
StringTranslationTrait:: |
protected | function | Translates a string to the current language or to a given language. |