You are here

function ajax_form_entity_entity_extra_field_info in Ajax form entity 8

Implements hook_entity_extra_field_info().

File

./ajax_form_entity.module, line 179
Contain ajax form entity module.

Code

function ajax_form_entity_entity_extra_field_info() {

  // Get Ajax form entity configuration.
  $config_ajax_form_entity = \Drupal::config('ajax_form_entity.settings');
  $confs = $config_ajax_form_entity
    ->get('content');

  // Create pseudo fields.
  $extra = [];
  foreach ($confs as $entity_type => $bundles) {
    foreach ($bundles as $bundle => $bundle_configuration) {

      // AJAX edit link.
      if ($bundle_configuration['activate'] && isset($bundle_configuration['edit_link']) && $bundle_configuration['edit_link']) {
        $extra[$entity_type][$bundle]['display']['ajax_form_entity_edit_link'] = [
          'label' => t('Ajax manage links'),
          'description' => t('Provides an ajax links to manage the current entity.'),
          'weight' => 100,
          'visible' => TRUE,
        ];
      }

      // Edit form.
      if ($bundle_configuration['activate'] && isset($bundle_configuration['form']) && $bundle_configuration['form']) {
        $extra[$entity_type][$bundle]['display']['ajax_form_entity_form'] = [
          'label' => t('Edit form'),
          'description' => t('Provides the edit form.'),
          'weight' => 100,
          'visible' => TRUE,
        ];
      }
    }
  }
  return $extra;
}