Code Coverage |
||||||||||
Classes and Traits |
Functions and Methods |
Lines |
||||||||
| Total | |
0.00% |
0 / 1 |
|
0.00% |
0 / 9 |
CRAP | |
0.00% |
0 / 27 |
| Action | |
0.00% |
0 / 1 |
|
0.00% |
0 / 9 |
132 | |
0.00% |
0 / 27 |
| getPluginCollection | |
0.00% |
0 / 1 |
6 | |
0.00% |
0 / 5 |
|||
| getPluginCollections | |
0.00% |
0 / 1 |
2 | |
0.00% |
0 / 2 |
|||
| getPlugin | |
0.00% |
0 / 1 |
2 | |
0.00% |
0 / 2 |
|||
| setPlugin | |
0.00% |
0 / 1 |
2 | |
0.00% |
0 / 3 |
|||
| getPluginDefinition | |
0.00% |
0 / 1 |
2 | |
0.00% |
0 / 2 |
|||
| execute | |
0.00% |
0 / 1 |
2 | |
0.00% |
0 / 2 |
|||
| isConfigurable | |
0.00% |
0 / 1 |
2 | |
0.00% |
0 / 2 |
|||
| getType | |
0.00% |
0 / 1 |
2 | |
0.00% |
0 / 2 |
|||
| sort | |
0.00% |
0 / 1 |
6 | |
0.00% |
0 / 7 |
|||
| <?php | |
| /** | |
| * @file | |
| * Contains \Drupal\system\Entity\Action. | |
| */ | |
| namespace Drupal\system\Entity; | |
| use Drupal\Core\Config\Entity\ConfigEntityBase; | |
| use Drupal\Core\Config\Entity\ConfigEntityInterface; | |
| use Drupal\Core\Entity\EntityWithPluginCollectionInterface; | |
| use Drupal\system\ActionConfigEntityInterface; | |
| use Drupal\Core\Action\ActionPluginCollection; | |
| use Drupal\Component\Plugin\ConfigurablePluginInterface; | |
| /** | |
| * Defines the configured action entity. | |
| * | |
| * @ConfigEntityType( | |
| * id = "action", | |
| * label = @Translation("Action"), | |
| * admin_permission = "administer actions", | |
| * entity_keys = { | |
| * "id" = "id", | |
| * "label" = "label" | |
| * }, | |
| * config_export = { | |
| * "id", | |
| * "label", | |
| * "type", | |
| * "plugin", | |
| * "configuration", | |
| * } | |
| * ) | |
| */ | |
| class Action extends ConfigEntityBase implements ActionConfigEntityInterface, EntityWithPluginCollectionInterface { | |
| /** | |
| * The name (plugin ID) of the action. | |
| * | |
| * @var string | |
| */ | |
| protected $id; | |
| /** | |
| * The label of the action. | |
| * | |
| * @var string | |
| */ | |
| protected $label; | |
| /** | |
| * The action type. | |
| * | |
| * @var string | |
| */ | |
| protected $type; | |
| /** | |
| * The configuration of the action. | |
| * | |
| * @var array | |
| */ | |
| protected $configuration = array(); | |
| /** | |
| * The plugin ID of the action. | |
| * | |
| * @var string | |
| */ | |
| protected $plugin; | |
| /** | |
| * The plugin collection that stores action plugins. | |
| * | |
| * @var \Drupal\Core\Action\ActionPluginCollection | |
| */ | |
| protected $pluginCollection; | |
| /** | |
| * Encapsulates the creation of the action's LazyPluginCollection. | |
| * | |
| * @return \Drupal\Component\Plugin\LazyPluginCollection | |
| * The action's plugin collection. | |
| */ | |
| protected function getPluginCollection() { | |
| if (!$this->pluginCollection) { | |
| $this->pluginCollection = new ActionPluginCollection(\Drupal::service('plugin.manager.action'), $this->plugin, $this->configuration); | |
| } | |
| return $this->pluginCollection; | |
| } | |
| /** | |
| * {@inheritdoc} | |
| */ | |
| public function getPluginCollections() { | |
| return array('configuration' => $this->getPluginCollection()); | |
| } | |
| /** | |
| * {@inheritdoc} | |
| */ | |
| public function getPlugin() { | |
| return $this->getPluginCollection()->get($this->plugin); | |
| } | |
| /** | |
| * {@inheritdoc} | |
| */ | |
| public function setPlugin($plugin_id) { | |
| $this->plugin = $plugin_id; | |
| $this->getPluginCollection()->addInstanceId($plugin_id); | |
| } | |
| /** | |
| * {@inheritdoc} | |
| */ | |
| public function getPluginDefinition() { | |
| return $this->getPlugin()->getPluginDefinition(); | |
| } | |
| /** | |
| * {@inheritdoc} | |
| */ | |
| public function execute(array $entities) { | |
| return $this->getPlugin()->executeMultiple($entities); | |
| } | |
| /** | |
| * {@inheritdoc} | |
| */ | |
| public function isConfigurable() { | |
| return $this->getPlugin() instanceof ConfigurablePluginInterface; | |
| } | |
| /** | |
| * {@inheritdoc} | |
| */ | |
| public function getType() { | |
| return $this->type; | |
| } | |
| /** | |
| * {@inheritdoc} | |
| */ | |
| public static function sort(ConfigEntityInterface $a, ConfigEntityInterface $b) { | |
| /** @var \Drupal\system\ActionConfigEntityInterface $a */ | |
| /** @var \Drupal\system\ActionConfigEntityInterface $b */ | |
| $a_type = $a->getType(); | |
| $b_type = $b->getType(); | |
| if ($a_type != $b_type) { | |
| return strnatcasecmp($a_type, $b_type); | |
| } | |
| return parent::sort($a, $b); | |
| } | |
| } |