function ief_table_view_mode_form_entity_view_display_edit_form_alter in Inline Entity Form Table View Mode 8
Same name and namespace in other branches
- 8.2 ief_table_view_mode.module \ief_table_view_mode_form_entity_view_display_edit_form_alter()
Implements hook_form_FORM_ID_alter() for entity_view_display_edit_form() form.
File
- ./
ief_table_view_mode.module, line 98 - Defines a view mode to set up the columns of the table for the IEF widget.
Code
function ief_table_view_mode_form_entity_view_display_edit_form_alter(&$form, \Drupal\Core\Form\FormStateInterface $form_state, $form_id) {
$formObject = $form_state
->getFormObject();
$entity = $formObject
->getEntity();
if ($entity
->getMode() != IEF_TABLE_VIEW_MODE_NAME) {
return;
}
// It proceeds to hide a choice label.
foreach (\Drupal\Core\Render\Element::children($form['fields']) as $field_name) {
$field_row =& $form['fields'][$field_name];
if ($field_row['#row_type'] == 'field') {
$field_row['label'] = array(
'#prefix' => \Drupal::translation()
->translate('- Hidden -'),
'#type' => 'hidden',
'#value' => 'hidden',
);
}
}
$entityManager = \Drupal::service('entity.manager');
$found_ief_fields = FALSE;
$entity_type = $form['#entity_type'];
$bundle = $form['#bundle'];
$extra_fields = $entityManager
->getExtraFields($entity_type, $bundle);
$extra_fields = isset($extra_fields['display']) ? $extra_fields['display'] : array();
$inlineHandler = $entityManager
->getHandler($entity_type, 'inline_form');
$entityTypeBundleInfo = \Drupal::service('entity_type.bundle.info');
$bundles = $entityTypeBundleInfo
->getBundleInfo($entity_type);
$table_fields = $inlineHandler
->getTableFields(array_keys($bundles));
foreach ($table_fields as $name => $table_field) {
if (!in_array($name, $form['#fields']) || !in_array($name, $form['#extra'])) {
$found_ief_fields = TRUE;
$form['#extra'][] = $name;
$display = array(
'weight' => $table_field['weight'],
'visible' => TRUE,
);
_ief_table_view_mode_add_extra_field($form['fields'], $name, $table_field, $display, $entity, $formObject);
}
}
if ($found_ief_fields) {
$form['ief_table_view_mode_info'] = array(
'#markup' => '* ' . \Drupal::translation()
->translate('These fields come from the original definition of IEF.'),
);
}
}