function tablefield_required_form_field_config_edit_form_alter in TableField 8.2
Implements hook_form_FORM_ID_alter().
File
- tablefield_required/
tablefield_required.module, line 14 - Contains module hooks for tablefield_required.
Code
function tablefield_required_form_field_config_edit_form_alter(array &$form, FormStateInterface $form_state) {
/** @var \Drupal\field\Entity\FieldConfig $field_config */
$field_config = $form_state
->getFormObject()
->getEntity();
$field_type = $field_config
->getType();
if ($field_type == 'tablefield') {
$tps = $field_config
->getThirdPartySettings('tablefield_required');
$form['tablefield_required'] = [
'#parents' => [],
'#type' => 'details',
'#title' => t('Tablefield required settings'),
'#open' => TRUE,
'#states' => [
'visible' => [
'input[name="required"]' => [
'checked' => FALSE,
],
],
],
];
$form['tablefield_required']['required_rows'] = [
'#type' => 'textfield',
'#title' => t('Required rows.'),
'#default_value' => isset($tps['required_rows']) ? $tps['required_rows'] : '',
'#description' => t('Enter the comma-separated list of required row indexes, starting
from "0" for first row, "1" for second and so on. For example, entering "0,2" will make
required all inputs for first and third rows. Keep in mind if this field is marked as
required into its definition, then this feature will be ignored.'),
];
$form['tablefield_required']['required_cols'] = [
'#type' => 'textfield',
'#title' => t('Required columns.'),
'#default_value' => isset($tps['required_cols']) ? $tps['required_cols'] : '',
'#description' => t('Enter the comma-separated list of required column indexes, starting
from "0" for first column, "1" for second and so on. For example, entering "0,2" will make
required all inputs for first and third columns. Keep in mind if this field is marked as
required into its definition, then this feature will be ignored.'),
];
$form['tablefield_required']['multivalue_inherit'] = [
'#type' => 'checkbox',
'#title' => t('Inherit mandatory property for multi-value tables.'),
'#default_value' => isset($tps['multivalue_inherit']) ? $tps['multivalue_inherit'] : FALSE,
'#description' => t('If this option is checked, multi-value tables will inherit same restriction.'),
];
$form['#entity_builders'][] = 'tablefield_required_form_builder';
}
}