You are here

public function SocialLinkItem::fieldSettingsForm in Social Link Field 8

Returns a form for the field-level settings.

Invoked from \Drupal\field_ui\Form\FieldConfigEditForm to allow administrators to configure field-level settings.

Parameters

array $form: The form where the settings form is being included in.

\Drupal\Core\Form\FormStateInterface $form_state: The form state of the (entire) configuration form.

Return value

array The form definition for the field settings.

Overrides FieldItemBase::fieldSettingsForm

File

src/Plugin/Field/FieldType/SocialLinkItem.php, line 103

Class

SocialLinkItem
Defines the 'social_links' entity field type.

Namespace

Drupal\social_link_field\Plugin\Field\FieldType

Code

public function fieldSettingsForm(array $form, FormStateInterface $form_state) {
  $form = parent::fieldSettingsForm($form, $form_state);
  $platforms_service = \Drupal::service('plugin.manager.social_link_field.platform');
  $options = [];
  foreach ($platforms_service
    ->getPlatforms() as $platform) {
    $options[$platform['id']] = $platform['name']
      ->getUntranslatedString();
  }
  $platforms = $this
    ->getSetting('platforms') ?? [];
  $form['platforms'] = [
    '#type' => 'checkboxes',
    '#title' => $this
      ->t('Allowed Platforms'),
    '#options' => $options,
    '#default_value' => $platforms,
    '#description' => $this
      ->t('Select none to allow all'),
  ];
  return $form;
}