You are here

public function FormatterForm::getFormatterExtrasForm in Custom Formatters 8.3

Returns the settings form for any available third party integrations.

1 call to FormatterForm::getFormatterExtrasForm()
FormatterForm::form in src/Form/FormatterForm.php
Gets the actual form array to be built.

File

src/Form/FormatterForm.php, line 169

Class

FormatterForm
Form controller for the shortcut set entity edit forms.

Namespace

Drupal\custom_formatters\Form

Code

public function getFormatterExtrasForm() {
  $form = [];
  $definitions = $this->formatterExtrasManager
    ->getDefinitions();
  if (is_array($definitions) && !empty($definitions)) {
    foreach ($definitions as $definition) {
      $extras_form = $this->formatterExtrasManager
        ->invoke($definition['id'], 'settingsForm', $this->entity);
      if (is_array($extras_form) && !empty($extras_form)) {

        // Extras form.
        $form[$definition['id']] = $extras_form;

        // Extras form details element.
        $form[$definition['id']]['#type'] = 'details';
        $form[$definition['id']]['#title'] = $definition['label'];
        $form[$definition['id']]['#description'] = $definition['description'];
        $form[$definition['id']]['#group'] = 'extras';
      }
    }
  }
  return $form;
}