You are here

function webform_test_third_party_settings_webform_admin_third_party_settings_form_alter in Webform 6.x

Same name and namespace in other branches
  1. 8.5 tests/modules/webform_test_third_party_settings/webform_test_third_party_settings.webform.inc \webform_test_third_party_settings_webform_admin_third_party_settings_form_alter()

Implements hook_webform_admin_third_party_settings_form_alter().

File

tests/modules/webform_test_third_party_settings/webform_test_third_party_settings.webform.inc, line 14
Integrates third party settings for the Webform module.

Code

function webform_test_third_party_settings_webform_admin_third_party_settings_form_alter(&$form, FormStateInterface $form_state) {

  /** @var \Drupal\webform\WebformThirdPartySettingsManagerInterface $third_party_settings_manager */
  $third_party_settings_manager = \Drupal::service('webform.third_party_settings_manager');
  $form['third_party_settings']['webform_test_third_party_settings'] = [
    '#type' => 'details',
    '#title' => t('Webform test third party admin settings'),
    '#open' => TRUE,
  ];
  $form['third_party_settings']['webform_test_third_party_settings']['message'] = [
    '#type' => 'textfield',
    '#title' => t('Display the below message on every webform'),
    '#default_value' => $third_party_settings_manager
      ->getThirdPartySetting('webform_test_third_party_settings', 'message'),
  ];
  $form['third_party_settings']['webform_test_third_party_settings']['error'] = [
    '#type' => 'checkbox',
    '#title' => t('Display as error'),
    '#default_value' => $third_party_settings_manager
      ->getThirdPartySetting('webform_test_third_party_settings', 'error'),
    '#return_value' => TRUE,
    '#states' => [
      'visible' => [
        ':input[name="third_party_settings[webform_test_third_party_settings][message]"]' => [
          'filled' => TRUE,
        ],
      ],
    ],
  ];
  $form['#validate'][] = '_webform_test_third_party_settings_form_validate';
}