EntityType.php in CMS Content Sync 2.0.x
File
modules/cms_content_sync_views/src/Plugin/views/filter/EntityType.php
View source
<?php
namespace Drupal\cms_content_sync_views\Plugin\views\filter;
use Drupal\cms_content_sync\Entity\Flow;
use Drupal\Core\Plugin\ContainerFactoryPluginInterface;
use Drupal\views\Plugin\views\filter\InOperator;
class EntityType extends InOperator implements ContainerFactoryPluginInterface {
public function getValueOptions() {
if (!isset($this->valueOptions)) {
$this->valueTitle = $this
->t('Entity Type');
$this->valueOptions = [];
$flows = Flow::getAll();
if (!empty($flows)) {
foreach ($flows as $flow) {
foreach ($flow
->getEntityTypeConfig(NULL, NULL, TRUE) as $config) {
$type_name = $config['entity_type_name'];
if (isset($this->valueOptions[$type_name])) {
continue;
}
$entityTypeManager = \Drupal::service('entity_type.manager');
$type = $entityTypeManager
->getDefinition($type_name);
$this->valueOptions[$type_name] = $type
->getLabel();
}
}
return $this->valueOptions;
}
}
return $this->valueOptions['none'] = $this
->t('None');
}
}
Classes
Name |
Description |
EntityType |
Provides a view filter to filter on the sync state entity. |