You are here

public function BlazyFileFormatterBase::settingsForm in Blazy 8

Same name and namespace in other branches
  1. 8.2 src/Plugin/Field/FieldFormatter/BlazyFileFormatterBase.php \Drupal\blazy\Plugin\Field\FieldFormatter\BlazyFileFormatterBase::settingsForm()

Returns a form to configure settings for the formatter.

Invoked from \Drupal\field_ui\Form\EntityDisplayFormBase to allow administrators to configure the formatter. The field_ui module takes care of handling submitted form values.

Parameters

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

\Drupal\Core\Form\FormStateInterface $form_state: The current state of the form.

Return value

array The form elements for the formatter settings.

Overrides FormatterBase::settingsForm

File

src/Plugin/Field/FieldFormatter/BlazyFileFormatterBase.php, line 65

Class

BlazyFileFormatterBase
Base class for blazy/slick image, and file ER formatters.

Namespace

Drupal\blazy\Plugin\Field\FieldFormatter

Code

public function settingsForm(array $form, FormStateInterface $form_state) {
  $element = [];
  $definition = $this
    ->getScopedFormElements();
  $definition['_views'] = isset($form['field_api_classes']);
  if (!empty($definition['_views'])) {
    $view = $form_state
      ->get('view');

    // Disables problematic options for GridStack plugin since GridStack
    // will not work with Responsive image, and has its own breakpoints.
    if ($view
      ->getExecutable()
      ->getStyle()
      ->getPluginId() == 'gridstack') {
      $definition['breakpoints'] = $definition['ratio'] = FALSE;
      $definition['responsive_image'] = FALSE;
      $definition['no_ratio'] = TRUE;
    }
  }
  $this
    ->admin()
    ->buildSettingsForm($element, $definition);
  return $element;
}