You are here

public function Block::remove in Drupal 8

Same name and namespace in other branches
  1. 9 core/modules/views/src/Plugin/views/display/Block.php \Drupal\views\Plugin\views\display\Block::remove()

Reacts on deleting a display.

Overrides DisplayPluginBase::remove

File

core/modules/views/src/Plugin/views/display/Block.php, line 391

Class

Block
The plugin that handles a block.

Namespace

Drupal\views\Plugin\views\display

Code

public function remove() {
  parent::remove();
  if ($this->entityTypeManager
    ->hasDefinition('block')) {
    $plugin_id = 'views_block:' . $this->view->storage
      ->id() . '-' . $this->display['id'];
    foreach ($this->entityTypeManager
      ->getStorage('block')
      ->loadByProperties([
      'plugin' => $plugin_id,
    ]) as $block) {
      $block
        ->delete();
    }
  }
  if ($this->blockManager instanceof CachedDiscoveryInterface) {
    $this->blockManager
      ->clearCachedDefinitions();
  }
}