function layout_builder_at_form_entity_form_display_edit_form_alter in Layout Builder Asymmetric Translation 8.2
Implements hook_form_FORM_ID_alter() for \Drupal\field_ui\Form\EntityFormDisplayEditForm.
File
- ./
layout_builder_at.module, line 42 - Provides hook implementations for Layout Builder Asymmetric Translation.
Code
function layout_builder_at_form_entity_form_display_edit_form_alter(&$form, FormStateInterface $form_state) {
$hide = TRUE;
$callback_object = $form_state
->getBuildInfo()['callback_object'];
if (isset($form['fields'][OverridesSectionStorage::FIELD_NAME]) && $callback_object instanceof EntityDisplayFormBase) {
/** @var \Drupal\Core\Entity\Display\EntityFormDisplayInterface $display */
$display = $callback_object
->getEntity();
$id = $display
->getTargetEntityTypeId() . '.' . $display
->getTargetBundle() . '.' . OverridesSectionStorage::FIELD_NAME;
$fieldConfig = FieldConfig::load($id);
if ($fieldConfig && $fieldConfig
->isTranslatable()) {
$hide = FALSE;
}
}
if ($hide) {
layout_builder_form_entity_form_display_edit_form_alter($form, $form_state);
}
else {
// Add an extra validation handler which prevents setting the layout widget
// to the original one from Layout Builder.
$form['#validate'][] = 'layout_builder_at_validate_form_display';
}
}