diff --git a/src/Form/EditableFieldsForm.php b/src/Form/EditableFieldsForm.php index f412aad9836d48f65b34cb7c9fc5cda27bc3be58..7311d677b8cb11728e1ee0db03f541e78d91ed1c 100644 --- a/src/Form/EditableFieldsForm.php +++ b/src/Form/EditableFieldsForm.php @@ -356,9 +356,10 @@ class EditableFieldsForm extends FormBase implements BaseFormIdInterface { ->load($params['entity_id']); if ($entity) { - $formatter = $entity->get($params['field_name']) + $wrapper = $this->editablefieldsHelper->prepareWrapperElement(); + $wrapper['content'] = $entity->get($params['field_name']) ->view($params['display_mode']); - $command = new ReplaceCommand('.' . $params['selector'] . ' .field', $formatter); + $command = new ReplaceCommand('.' . $params['selector'] . ' .editablefields-popup-inner', $wrapper); $response->addCommand($command); } } diff --git a/src/Plugin/Field/FieldFormatter/EditableFieldsFieldFormatter.php b/src/Plugin/Field/FieldFormatter/EditableFieldsFieldFormatter.php index edcf6625ddf2af18a6fcaed01c46de8cde25e5aa..8bc92ca157fc1412365e072730a8bd0dc398b075 100644 --- a/src/Plugin/Field/FieldFormatter/EditableFieldsFieldFormatter.php +++ b/src/Plugin/Field/FieldFormatter/EditableFieldsFieldFormatter.php @@ -274,9 +274,11 @@ class EditableFieldsFieldFormatter extends FormatterBase { ], ] )->toRenderable(); + $wrapper = $this->editablefieldsHelper->prepareWrapperElement(); + $wrapper['content'] = $entity->get($field_name)->view($view_mode); return [ [ - 'field' => $entity->get($field_name)->view($view_mode), + 'field' => $wrapper, 'link' => $link, '#prefix' => '<div class="' . $selector . ' editablefields-popup">', '#suffix' => '</div>', diff --git a/src/services/EditableFieldsHelper.php b/src/services/EditableFieldsHelper.php index 62f7b6fe6610e2f90938871e55908ca80be0b242..8dff8f906a30b154a9a6d920be5b73b370c3b437 100644 --- a/src/services/EditableFieldsHelper.php +++ b/src/services/EditableFieldsHelper.php @@ -232,4 +232,19 @@ class EditableFieldsHelper { return implode('_', $parts); } + /** + * Prepares wrapper element. + * + * @return array + * Render array. + */ + public function prepareWrapperElement() { + return [ + '#type' => 'html_tag', + '#tag' => 'div', + '#attributes' => ['class' => ['editablefields-popup-inner']], + 'content' => [], + ]; + } + }