You are here

public function DoubleField::getSettings in Double Field 8.3

Same name in this branch
  1. 8.3 src/Plugin/Field/FieldWidget/DoubleField.php \Drupal\double_field\Plugin\Field\FieldWidget\DoubleField::getSettings()
  2. 8.3 src/Plugin/Field/FieldType/DoubleField.php \Drupal\double_field\Plugin\Field\FieldType\DoubleField::getSettings()

Returns the array of settings, including defaults for missing settings.

Return value

array The array of settings.

Overrides PluginSettingsBase::getSettings

3 calls to DoubleField::getSettings()
DoubleField::formElement in src/Plugin/Field/FieldWidget/DoubleField.php
Returns the form for a single field widget.
DoubleField::settingsForm in src/Plugin/Field/FieldWidget/DoubleField.php
Returns a form to configure settings for the widget.
DoubleField::settingsSummary in src/Plugin/Field/FieldWidget/DoubleField.php
Returns a short summary for the current widget settings.

File

src/Plugin/Field/FieldWidget/DoubleField.php, line 522

Class

DoubleField
Plugin implementation of the 'double_field' widget.

Namespace

Drupal\double_field\Plugin\Field\FieldWidget

Code

public function getSettings() {
  $settings = parent::getSettings();
  $field_settings = $this
    ->getFieldSettings();
  foreach ([
    'first',
    'second',
  ] as $subfield) {
    $widget_types = $this
      ->getSubwidgets($field_settings['storage'][$subfield]['type'], $field_settings[$subfield]['list']);
    if (!$settings[$subfield]['type']) {
      $settings[$subfield]['type'] = key($widget_types);
    }
    elseif (!array_key_exists($settings[$subfield]['type'], $widget_types)) {
      $settings[$subfield]['type'] = key($widget_types);
    }

    // BC Layer. The settings below may not be set if site was updated from
    // version below 3.4.
    // @todo Remove this in 4.0.
    if (!isset($settings[$subfield]['label_display'])) {
      $settings[$subfield]['label_display'] = 'hidden';
    }
  }
  return $settings;
}