You are here

function paragraph_view_mode_form_paragraphs_type_edit_form_submit in Paragraph View Mode 2.x

Same name and namespace in other branches
  1. 8 paragraph_view_mode.module \paragraph_view_mode_form_paragraphs_type_edit_form_submit()

Paragraph view mode form submit.

Parameters

array $form: Form structure.

\Drupal\Core\Form\FormStateInterface $form_state: Form state object.

1 string reference to 'paragraph_view_mode_form_paragraphs_type_edit_form_submit'
paragraph_view_mode_form_paragraphs_type_edit_form_alter in ./paragraph_view_mode.module
Implements hook_form_FORM_ID_alter().

File

./paragraph_view_mode.module, line 101
Contains paragraphs_view_mode.module functions.

Code

function paragraph_view_mode_form_paragraphs_type_edit_form_submit(array &$form, FormStateInterface $form_state) {
  $config_name = StorageManagerInterface::CONFIG_NAME;
  $enable = $form_state
    ->getValue([
    $config_name,
    'enabled',
  ]);
  $label = $form_state
    ->getValue([
    $config_name,
    'label',
  ], NULL);
  $paragraphType = $form_state
    ->getFormObject()
    ->getEntity();
  $bundle = $paragraphType
    ->getOriginalId();

  /** @var \Drupal\paragraph_view_mode\StorageManagerInterface $storage_manager */
  $storage_manager = \Drupal::service('paragraph_view_mode.storage_manager');
  if (!empty($enable)) {
    $enable = $storage_manager
      ->addField($bundle);
    if ($enable) {
      $storage_manager
        ->addToFormDisplay($bundle);
    }
    if ($label) {
      $storage_manager
        ->setFieldLabel($bundle, $label);
      $paragraphType
        ->setThirdPartySetting($config_name, 'label', $label);
    }
  }
  else {
    $enable = !$storage_manager
      ->deleteField($bundle);
  }
  $paragraphType
    ->setThirdPartySetting($config_name, 'enabled', $enable);
  $paragraphType
    ->save();
}