You are here

public function SettingsWebformHandler::submitConfigurationForm in Webform 6.x

Same name and namespace in other branches
  1. 8.5 src/Plugin/WebformHandler/SettingsWebformHandler.php \Drupal\webform\Plugin\WebformHandler\SettingsWebformHandler::submitConfigurationForm()

Form submission handler.

Parameters

array $form: An associative array containing the structure of the plugin form as built by static::buildConfigurationForm().

\Drupal\Core\Form\FormStateInterface $form_state: The current state of the form. Calling code should pass on a subform state created through \Drupal\Core\Form\SubformState::createForSubform().

Overrides WebformHandlerBase::submitConfigurationForm

File

src/Plugin/WebformHandler/SettingsWebformHandler.php, line 243

Class

SettingsWebformHandler
Webform submission settings handler.

Namespace

Drupal\webform\Plugin\WebformHandler

Code

public function submitConfigurationForm(array &$form, FormStateInterface $form_state) {

  // Completely reset configuration so that custom configuration will always
  // be reset.
  $this->configuration = $this
    ->defaultConfiguration();
  parent::submitConfigurationForm($form, $form_state);
  $this
    ->applyFormStateToConfiguration($form_state);

  // Remove all empty strings from preview and confirmation settings.
  $this->configuration = array_filter($this->configuration);

  // Cast debug.
  $this->configuration['debug'] = (bool) $form_state
    ->getValue('debug');

  // Append custom settings to configuration.
  $this->configuration += $form_state
    ->getValue('custom');
}