function ImageStyleEditForm::effectSave

Same name and namespace in other branches
  1. 9 core/modules/image/src/Form/ImageStyleEditForm.php \Drupal\image\Form\ImageStyleEditForm::effectSave()
  2. 8.9.x core/modules/image/src/Form/ImageStyleEditForm.php \Drupal\image\Form\ImageStyleEditForm::effectSave()
  3. 11.x core/modules/image/src/Form/ImageStyleEditForm.php \Drupal\image\Form\ImageStyleEditForm::effectSave()

Submit handler for image effect.

File

core/modules/image/src/Form/ImageStyleEditForm.php, line 207

Class

ImageStyleEditForm
Controller for image style edit form.

Namespace

Drupal\image\Form

Code

public function effectSave($form, FormStateInterface $form_state) {
  $this->save($form, $form_state);
  // Check if this field has any configuration options.
  $effect = $this->imageEffectManager
    ->getDefinition($form_state->getValue('new'));
  // Load the configuration form for this option.
  if (is_subclass_of($effect['class'], '\\Drupal\\image\\ConfigurableImageEffectInterface')) {
    $form_state->setRedirect('image.effect_add_form', [
      'image_style' => $this->entity
        ->id(),
      'image_effect' => $form_state->getValue('new'),
    ], [
      'query' => [
        'weight' => $form_state->getValue('weight'),
      ],
    ]);
    $form_state->setIgnoreDestination();
  }
  else {
    $effect = [
      'id' => $effect['id'],
      'data' => [],
      'weight' => $form_state->getValue('weight'),
    ];
    $effect_id = $this->entity
      ->addImageEffect($effect);
    $this->entity
      ->save();
    if (!empty($effect_id)) {
      $this->messenger()
        ->addStatus($this->t('The image effect was successfully applied.'));
    }
  }
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.