NodeBulkForm.php

Contains \Drupal\node\Plugin\views\field\NodeBulkForm.

Namespace

Drupal\node\Plugin\views\field

File

drupal/core/modules/node/lib/Drupal/node/Plugin/views/field/NodeBulkForm.php
View source
<?php

/**
 * @file
 * Contains \Drupal\node\Plugin\views\field\NodeBulkForm.
 */
namespace Drupal\node\Plugin\views\field;

use Drupal\Component\Annotation\PluginID;
use Drupal\system\Plugin\views\field\BulkFormBase;
use Drupal\Core\Cache\Cache;
use Drupal\Core\Entity\EntityManager;

/**
 * Defines a node operations bulk form element.
 *
 * @PluginID("node_bulk_form")
 */
class NodeBulkForm extends BulkFormBase {

  /**
   * Constructs a new NodeBulkForm object.
   */
  public function __construct(array $configuration, $plugin_id, array $plugin_definition, EntityManager $manager) {
    parent::__construct($configuration, $plugin_id, $plugin_definition, $manager);

    // Filter the actions to only include those for the 'node' entity type.
    $this->actions = array_filter($this->actions, function ($action) {
      return $action
        ->getType() == 'node';
    });
  }

  /**
   * {@inheritdoc}
   */
  public function views_form_validate(&$form, &$form_state) {
    $selected = array_filter($form_state['values'][$this->options['id']]);
    if (empty($selected)) {
      form_set_error('', t('No items selected.'));
    }
  }

  /**
   * {@inheritdoc}
   */
  public function views_form_submit(&$form, &$form_state) {
    parent::views_form_submit($form, $form_state);
    if ($form_state['step'] == 'views_form_views_form') {
      Cache::invalidateTags(array(
        'content' => TRUE,
      ));
    }
  }

}

Classes

Namesort descending Description
NodeBulkForm Defines a node operations bulk form element.