Commit eb0db759 authored by matsbla's avatar matsbla Committed by Mats Blakstad
Browse files

Issue #3317124 by matsbla: Depract use_default_field_markup_wrapper

parent 06b28210
Loading
Loading
Loading
Loading
+0 −3
Original line number Diff line number Diff line
@@ -5,6 +5,3 @@ field.formatter.settings.custom_twig_markup:
    custom_twig_markup:
      type: string
      label: 'Custom Twig markup'
    use_default_field_markup_wrapper:
      type: boolean
      label: 'Use default field markup wrapper'
+2 −39
Original line number Diff line number Diff line
@@ -94,7 +94,6 @@ class CustomTwigFormatter extends FormatterBase {
  public static function defaultSettings() {
    return [
      'custom_twig_markup' => '',
      'use_default_field_markup_wrapper' => TRUE,
    ] + parent::defaultSettings();
  }

@@ -104,13 +103,6 @@ class CustomTwigFormatter extends FormatterBase {
  public function settingsForm(array $form, FormStateInterface $form_state) {
    $form = parent::settingsForm($form, $form_state);

    $form['use_default_field_markup_wrapper'] = [
      '#title' => $this->t('Use default field markup wrapper'),
      '#description' => $this->t('Wrap the field with deafult label and classes. The values are also available using: <code>{{  label  }}  {{ css_classes }} {{ title_css_classes }}</code>'),
      '#type' => 'checkbox',
      '#default_value' => $this->getSetting('use_default_field_markup_wrapper'),
    ];

    $form['custom_twig_markup'] = [
      '#type' => 'textarea',
      '#title' => $this->t('Twig code'),
@@ -154,8 +146,6 @@ class CustomTwigFormatter extends FormatterBase {
    }
    $tokensDoc = [
      'label'             => 'string',
      'css_classes'       => 'string',
      'title_css_classes' => 'string',
    ];

    // Build documentation.
@@ -221,21 +211,6 @@ class CustomTwigFormatter extends FormatterBase {
    else {
      $label = $this->fieldDefinition->getLabel();
    }
    // Build default field classes.
    $field_name_class = str_replace('_', '-', $field_name);
    $field_type_class = str_replace('_', '-', $field_type);
    $label_display_class = str_replace('_', '-', $label_display_position);
    $css_classes = 'field';
    $css_classes .= ' field--name-' . $field_name_class;
    $css_classes .= ' field--type-' . $field_type_class;
    $css_classes .= ' field--label-' . $label_display_class;
    if ($label_display_position == 'inline') {
      $css_classes .= ' clearfix';
    }
    $title_css_classes = 'field__label';
    if ($label_display_position == 'visually_hidden') {
      $title_css_classes .= ' visually-hidden';
    }

    // Load twig field replacement patterns.
    $context = [];
@@ -243,28 +218,16 @@ class CustomTwigFormatter extends FormatterBase {
      $context[$field_id] = $value;
    }
    $context['label'] = $label;
    $context['css_classes'] = $css_classes;
    $context['title_css_classes'] = $title_css_classes;

    // Build twig markup.
    $output = '';
    $markup = '';
    try {
      $output = $this->twig->createTemplate($this->getSetting('custom_twig_markup'))
      $markup = $this->twig->createTemplate($this->getSetting('custom_twig_markup'))
        ->render($context);
    }
    catch (Twig_Error $error) {
      $this->messenger()->addError($error->getMessage());
    }
    if ($this->getSetting('use_default_field_markup_wrapper')) {
      $markup = "<div class=\"$css_classes\">";
      $markup .= "<div class=\"$title_css_classes\">$label</div>";
      $markup .= '<div class="field__items">';
      $markup .= $output;
      $markup .= '</div></div>';
    }
    else {
      $markup = $output;
    }

    $entity_type = $entity->getEntityTypeId();
    $elements = [