You are here

protected function ContentModelUpdater::installViewDisplays in Panopoly 8.2

Install view displays.

1 call to ContentModelUpdater::installViewDisplays()
ContentModelUpdater::installBundleConfig in modules/panopoly/panopoly_media/src/Update/ContentModelUpdater.php
Installs config pertinent to media entity bundles.

File

modules/panopoly/panopoly_media/src/Update/ContentModelUpdater.php, line 457

Class

ContentModelUpdater
Applies changes to media content model from schema versions 8204 to 8205.

Namespace

Drupal\panopoly_media\Update

Code

protected function installViewDisplays() {

  // File, copy view mode displays.
  $existingModes = \Drupal::configFactory()
    ->listAll('core.entity_view_display.media.file.');
  foreach ($existingModes as $configId) {
    $config = $this
      ->getConfigStorage()
      ->read($configId);
    unset($config['uuid']);
    $config['id'] = 'media.panopoly_media_file.' . $config['mode'];
    $config['bundle'] = 'panopoly_media_file';
    $configId = 'core.entity_view_display.' . $config['id'];
    $this
      ->createConfigEntity($configId, $config)
      ->save();
    $this
      ->updateViewDisplay($config['id']);
  }

  // Image, copy view mode displays.
  $existingModes = \Drupal::configFactory()
    ->listAll('core.entity_view_display.media.image.');
  foreach ($existingModes as $configId) {
    $config = $this
      ->getConfigStorage()
      ->read($configId);
    unset($config['uuid']);
    $config['id'] = 'media.panopoly_media_image.' . $config['mode'];
    $config['bundle'] = 'panopoly_media_image';
    $configId = 'core.entity_view_display.' . $config['id'];
    $this
      ->createConfigEntity($configId, $config)
      ->save();
    $this
      ->updateViewDisplay($config['id']);
  }

  // Video, copy view mode displays.
  $existingModes = \Drupal::configFactory()
    ->listAll('core.entity_view_display.media.video.');
  foreach ($existingModes as $configId) {
    $config = $this
      ->getConfigStorage()
      ->read($configId);
    unset($config['uuid']);
    $config = $this
      ->swapEmbedFieldDisplay($config);
    $config['id'] = 'media.panopoly_media_remote_video.' . $config['mode'];
    $config['bundle'] = 'panopoly_media_remote_video';
    $configId = 'core.entity_view_display.' . $config['id'];
    $this
      ->createConfigEntity($configId, $config)
      ->save();
    $this
      ->updateViewDisplay($config['id']);
  }
  $this
    ->installAllOfType('core.entity_view_display.media');
}