function require_on_publish_form_field_config_edit_form_alter in Require on Publish 8
Implements hook_form_FORM_ID_alter().
File
- ./
require_on_publish.module, line 31 - Module file for the Require on Publish module.
Code
function require_on_publish_form_field_config_edit_form_alter(&$form, FormStateInterface $form_state, $form_id) {
/** @var \Drupal\field\FieldConfigInterface $field_config */
$field_config = $form_state
->getFormObject()
->getEntity();
/** @var \Drupal\Core\Entity\ContentEntityType $entity_type */
$entity_type = \Drupal::entityTypeManager()
->getDefinition($field_config
->getTargetEntityTypeId());
if (!_require_on_publish_entity_is_publishable($entity_type
->getClass())) {
return;
}
$form['#attached']['library'][] = 'require_on_publish/config-form';
$form['#attached']['library'][] = 'require_on_publish/require_on_publish';
$form['require_on_publish'] = [
'#type' => 'checkbox',
'#title' => t('Required on Publish'),
'#default_value' => $field_config
->getThirdPartySetting('require_on_publish', 'require_on_publish', FALSE),
'#weight' => -4,
];
$form['warn_on_empty'] = [
'#type' => 'checkbox',
'#title' => t('Warning on Empty'),
'#default_value' => $field_config
->getThirdPartySetting('require_on_publish', 'warn_on_empty', FALSE),
'#weight' => -3,
'#states' => [
'visible' => [
':input[name="require_on_publish"]' => [
'checked' => TRUE,
],
],
'invisible' => [
':input[name="require_on_publish"]' => [
'checked' => FALSE,
],
],
],
];
$form['actions']['submit']['#submit'][] = 'require_on_publish_field_config_submit';
}