/** * {@inheritdoc} * * @param \Drupal\image\ImageStyleInterface $image_style * The image style. * @param string $image_effect * The image effect ID. * * @return array * The form structure. * * @throws \Symfony\Component\HttpKernel\Exception\NotFoundHttpException */ public function buildForm(array $form, FormStateInterface $form_state, ImageStyleInterface $image_style = NULL, $image_effect = NULL) { $this->imageStyle = $image_style; try { $this->imageEffect = $this->prepareImageEffect($image_effect); } catch (PluginNotFoundException $e) { throw new NotFoundHttpException("Invalid effect id: '{$image_effect}'."); } $request = $this->getRequest(); if (!$this->imageEffect instanceof ConfigurableImageEffectInterface) { throw new NotFoundHttpException(); } $form['#attached']['library'][] = 'image/admin'; $form['uuid'] = array('#type' => 'value', '#value' => $this->imageEffect->getUuid()); $form['id'] = array('#type' => 'value', '#value' => $this->imageEffect->getPluginId()); $form['data'] = []; $subform_state = SubformState::createForSubform($form['data'], $form, $form_state); $form['data'] = $this->imageEffect->buildConfigurationForm($form['data'], $subform_state); $form['data']['#tree'] = TRUE; // Check the URL for a weight, then the image effect, otherwise use default. $form['weight'] = array('#type' => 'hidden', '#value' => $request->query->has('weight') ? (int) $request->query->get('weight') : $this->imageEffect->getWeight()); $form['actions'] = array('#type' => 'actions'); $form['actions']['submit'] = array('#type' => 'submit', '#button_type' => 'primary'); $form['actions']['cancel'] = array('#type' => 'link', '#title' => $this->t('Cancel'), '#url' => $this->imageStyle->urlInfo('edit-form'), '#attributes' => ['class' => ['button']]); return $form; }
/** * {@inheritdoc} * * @param \Drupal\image\ImageStyleInterface $image_style * The image style. * @param string $image_effect * The image effect ID. * * @return array * The form structure. * * @throws \Symfony\Component\HttpKernel\Exception\NotFoundHttpException */ public function buildForm(array $form, FormStateInterface $form_state, ImageStyleInterface $image_style = NULL, $image_effect = NULL) { $this->imageStyle = $image_style; try { $this->imageEffect = $this->prepareImageEffect($image_effect); } catch (PluginNotFoundException $e) { throw new NotFoundHttpException(String::format("Invalid effect id: '@id'.", array('@id' => $image_effect))); } $request = $this->getRequest(); if (!$this->imageEffect instanceof ConfigurableImageEffectInterface) { throw new NotFoundHttpException(); } $form['#attached']['css'][drupal_get_path('module', 'image') . '/css/image.admin.css'] = array(); $form['uuid'] = array('#type' => 'value', '#value' => $this->imageEffect->getUuid()); $form['id'] = array('#type' => 'value', '#value' => $this->imageEffect->getPluginId()); $form['data'] = $this->imageEffect->buildConfigurationForm(array(), $form_state); $form['data']['#tree'] = TRUE; // Check the URL for a weight, then the image effect, otherwise use default. $form['weight'] = array('#type' => 'hidden', '#value' => $request->query->has('weight') ? (int) $request->query->get('weight') : $this->imageEffect->getWeight()); $form['actions'] = array('#type' => 'actions'); $form['actions']['submit'] = array('#type' => 'submit', '#button_type' => 'primary'); $form['actions']['cancel'] = array('#type' => 'link', '#title' => $this->t('Cancel'), '#url' => $this->imageStyle->urlInfo('edit-form')); return $form; }