class BulkEdit in Views Bulk Edit 8
Bulk edit entities.
Plugin annotation
@Action(
id = "views_bulk_edit",
label = @Translation("Edit"),
confirm_form_route_name = "views_bulk_edit.edit_form",
deriver = "Drupal\views_bulk_edit\Plugin\Derivative\BulkEditDeriver"
)
Hierarchy
- class \Drupal\Component\Plugin\PluginBase implements DerivativeInspectionInterface, PluginInspectionInterface
- class \Drupal\Core\Plugin\PluginBase uses DependencySerializationTrait, MessengerTrait, StringTranslationTrait
- class \Drupal\Core\Action\ActionBase implements ActionInterface
- class \Drupal\views_bulk_edit\Plugin\Action\BulkEdit implements ContainerFactoryPluginInterface
- class \Drupal\Core\Action\ActionBase implements ActionInterface
- class \Drupal\Core\Plugin\PluginBase uses DependencySerializationTrait, MessengerTrait, StringTranslationTrait
Expanded class hierarchy of BulkEdit
File
- src/
Plugin/ Action/ BulkEdit.php, line 22
Namespace
Drupal\views_bulk_edit\Plugin\ActionView source
class BulkEdit extends ActionBase implements ContainerFactoryPluginInterface {
/**
* Private store factory.
*
* @var \Drupal\user\PrivateTempStoreFactory
*/
protected $privateTempStoreFactory;
/**
* BulkDownload constructor.
*
* @param array $configuration
* Plugin configuration.
* @param string $plugin_id
* The plugin Id.
* @param mixed $plugin_definition
* Plugin definition.
* @param \Drupal\user\PrivateTempStoreFactory $privateTempStoreFactory
* The storage service.
*/
public function __construct(array $configuration, $plugin_id, $plugin_definition, PrivateTempStoreFactory $privateTempStoreFactory) {
parent::__construct($configuration, $plugin_id, $plugin_definition);
$this->privateTempStoreFactory = $privateTempStoreFactory;
}
/**
* {@inheritdoc}
*/
public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition) {
return new static($configuration, $plugin_id, $plugin_definition, $container
->get('user.private_tempstore'));
}
/**
* {@inheritdoc}
*/
public function execute($entity = NULL) {
return $this
->executeMultiple([
$entity,
]);
}
/**
* {@inheritdoc}
*/
public function executeMultiple(array $entities) {
// Grab the entity Ids.
$entities_keyed = [];
foreach ($entities as $entity) {
$entities_keyed[$entity
->id()] = $entity;
}
$this
->persistBulkEditEntityIds($entities_keyed);
}
/**
* {@inheritdoc}
*/
public function access($object, AccountInterface $account = NULL, $return_as_object = FALSE) {
/** @var \Drupal\Core\Access\AccessResultInterface $access */
$access = $object
->access('update', $account, TRUE);
$access_result = $access
->andIf(AccessResult::allowedIfHasPermission($account, 'use views bulk edit'));
return $return_as_object ? $access_result : $access_result
->isAllowed();
}
/**
* Saves the entity Ids.
*
* @param \Drupal\Core\Entity\EntityInterface[] $entities_keyed
* An array of entities.
*/
protected function persistBulkEditEntityIds(array $entities_keyed) {
$privateStore = $this->privateTempStoreFactory
->get('views_bulk_edit');
$entity_data = [];
foreach ($entities_keyed as $entity_id => $entity) {
$entity_data[$entity
->getEntityTypeId()][$entity
->bundle()][] = $entity
->id();
}
$privateStore
->set('entity_data', $entity_data);
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
BulkEdit:: |
protected | property | Private store factory. | |
BulkEdit:: |
public | function |
Checks object access. Overrides ActionInterface:: |
|
BulkEdit:: |
public static | function |
Creates an instance of the plugin. Overrides ContainerFactoryPluginInterface:: |
|
BulkEdit:: |
public | function |
Executes the plugin. Overrides ExecutableInterface:: |
|
BulkEdit:: |
public | function |
Executes the plugin for an array of objects. Overrides ActionBase:: |
|
BulkEdit:: |
protected | function | Saves the entity Ids. | |
BulkEdit:: |
public | function |
BulkDownload constructor. Overrides PluginBase:: |
|
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 | |
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. |