public function PanelsBlockConfigureFormBase::submitForm in Panels 8.4
Same name and namespace in other branches
- 8.3 src/Form/PanelsBlockConfigureFormBase.php \Drupal\panels\Form\PanelsBlockConfigureFormBase::submitForm()
Form submission handler.
Parameters
array $form: An associative array containing the structure of the form.
\Drupal\Core\Form\FormStateInterface $form_state: The current state of the form.
Overrides FormInterface::submitForm
File
- src/
Form/ PanelsBlockConfigureFormBase.php, line 166
Class
- PanelsBlockConfigureFormBase
- Provides a base form for configuring a block as part of a variant.
Namespace
Drupal\panels\FormCode
public function submitForm(array &$form, FormStateInterface $form_state) {
$settings = (new FormState())
->setValues($form_state
->getValue('settings'));
// Call the plugin submit handler.
$this->block
->submitConfigurationForm($form, $settings);
// Update the original form values.
$form_state
->setValue('settings', $settings
->getValues());
if ($this->block instanceof ContextAwarePluginInterface) {
$this->block
->setContextMapping($settings
->getValue('context_mapping', []));
}
$configuration = $this->block
->getConfiguration();
$configuration['region'] = $form_state
->getValue('region');
$this
->getVariantPlugin()
->updateBlock($this->block
->getConfiguration()['uuid'], $configuration);
$cached_values = $this
->getCachedValues($this->tempstore, $this->tempstore_id, $form_state
->get('machine_name'));
$cached_values['plugin'] = $this
->getVariantPlugin();
// PageManager specific handling.
if (isset($cached_values['page_variant'])) {
$cached_values['page_variant']
->getVariantPlugin()
->setConfiguration($cached_values['plugin']
->getConfiguration());
}
$this
->getTempstore()
->set($cached_values['id'], $cached_values);
}