You are here

protected function ContentModelUpdater::installFormDisplays in Panopoly 8.2

Install form displays.

1 call to ContentModelUpdater::installFormDisplays()
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 256

Class

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

Namespace

Drupal\panopoly_media\Update

Code

protected function installFormDisplays() {

  // File, copy form display mode.
  $existingModes = \Drupal::configFactory()
    ->listAll('core.entity_form_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_form_display.' . $config['id'];
    $this
      ->createConfigEntity($configId, $config)
      ->save();
    $this
      ->updateFormDisplay($config['id']);
  }

  // Image, copy form display mode.
  $existingModes = \Drupal::configFactory()
    ->listAll('core.entity_form_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_form_display.' . $config['id'];
    $this
      ->createConfigEntity($configId, $config)
      ->save();
    $this
      ->updateFormDisplay($config['id']);
  }

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

  // Set paths for new and old config.
  $this
    ->hideEntityFormPaths('panopoly_media_file');
  $this
    ->hideEntityFormPaths('panopoly_media_image');
  $this
    ->hideEntityFormPaths('panopoly_media_remote_video');
}