From 434d991b5ac49e02cf36709fdcb4b65ea2fb0756 Mon Sep 17 00:00:00 2001 From: Jeffrey Fortune <jfortune@tombras.com> Date: Wed, 13 Feb 2019 21:54:52 -0500 Subject: [PATCH] Not working with Paragraphs fix, updated validation and massage fields --- .../FieldFormatter/BgImgFieldFormatter.php | 2 +- src/Plugin/Field/FieldType/BgImgItem.php | 1 - .../Field/FieldWidget/BgImageFieldWidget.php | 27 ++++++------------- 3 files changed, 9 insertions(+), 21 deletions(-) diff --git a/src/Plugin/Field/FieldFormatter/BgImgFieldFormatter.php b/src/Plugin/Field/FieldFormatter/BgImgFieldFormatter.php index 5c2c585..2ddf2d2 100644 --- a/src/Plugin/Field/FieldFormatter/BgImgFieldFormatter.php +++ b/src/Plugin/Field/FieldFormatter/BgImgFieldFormatter.php @@ -122,7 +122,7 @@ class BgImgFieldFormatter extends ResponsiveImageFormatter implements ContainerF $image_style_mappings = $storage->get('image_style_mappings'); if (isset($image_style_mappings[0]) && $image_style_mappings[0]['image_mapping_type'] === 'image_style') { - $new_options = [$key => $option]; + $new_options += [$key => $option]; } } $elements['responsive_image_style']['#options'] = $new_options; diff --git a/src/Plugin/Field/FieldType/BgImgItem.php b/src/Plugin/Field/FieldType/BgImgItem.php index cf638d0..e885371 100644 --- a/src/Plugin/Field/FieldType/BgImgItem.php +++ b/src/Plugin/Field/FieldType/BgImgItem.php @@ -157,7 +157,6 @@ class BgImgItem extends ImageItem { '#description' => $this->t('CSS Selector for background image.'), '#default_value' => $css_option_settings['css_selector'], '#token_types' => $token_types, - '#element_validate' => 'token_element_validate', ]; // The tokens that are scoped for the selector input. diff --git a/src/Plugin/Field/FieldWidget/BgImageFieldWidget.php b/src/Plugin/Field/FieldWidget/BgImageFieldWidget.php index d08107b..585fa3e 100644 --- a/src/Plugin/Field/FieldWidget/BgImageFieldWidget.php +++ b/src/Plugin/Field/FieldWidget/BgImageFieldWidget.php @@ -49,24 +49,14 @@ class BgImageFieldWidget extends ImageWidget { * {@inheritdoc} */ public function massageFormValues(array $values, array $form, FormStateInterface $form_state) { - - $new_values = []; - - foreach ($values as &$value) { - $new_value = $value; - $new_value['css_selector'] = $value['css_settings']['css_selector']; - $new_value['css_repeat'] = $value['css_settings']['css_repeat']; - $new_value['css_background_size'] = $value['css_settings']['css_background_size']; - $new_value['css_background_position'] = $value['css_settings']['css_background_position']; - - foreach ($value['fids'] as $fid) { - $new_value['target_id'] = $fid; - unset($new_value['fids']); - } - - unset($new_value['css_settings']); - - $new_values[] = $new_value; + $new_values = parent::massageFormValues($values, $form, $form_state); + + foreach ($new_values as $key => $value) { + $new_values[$key]['css_selector'] = $value['css_settings']['css_selector']; + $new_values[$key]['css_repeat'] = $value['css_settings']['css_repeat']; + $new_values[$key]['css_background_size'] = $value['css_settings']['css_background_size']; + $new_values[$key]['css_background_position'] = $value['css_settings']['css_background_position']; + unset($new_values[$key]['css_settings']); } return $new_values; @@ -114,7 +104,6 @@ class BgImageFieldWidget extends ImageWidget { '#description' => t('CSS Selector for background image.'), '#default_value' => $selector, '#token_types' => $token_types, - '#element_validate' => 'token_element_validate', '#required' => FALSE, ]; -- GitLab