@@ -128,6 +128,8 @@ protected function preRenderGroup(array &$element, $group_name, array $rendering
128128
129129    // Handle groups managed by UI Patterns recursively. 
130130    if  ($ groupformat_type  == 'pattern_formatter ' ) {
131+       $ element'#is_empty ' ] = TRUE ;
132+ 
131133      // Move content into their fields. 
132134      foreach  ($ groupformat_settings ['pattern_mapping ' ] as  $ field
133135        if  ($ field'plugin ' ] == 'fieldgroup ' ) {
@@ -136,13 +138,35 @@ protected function preRenderGroup(array &$element, $group_name, array $rendering
136138          }
137139          else  {
138140            $ this preRenderGroup ($ element$ field'source ' ]], $ field'source ' ], $ rendering_object
141+             if  (!empty ($ element$ field'source ' ]]) && !$ element$ field'source ' ]]['#is_empty ' ]) {
142+               $ element'#is_empty ' ] = FALSE ;
143+             }
144+           }
145+         }
146+         elseif  ($ field'plugin ' ] == 'fields ' ) {
147+           /** @var \Drupal\Core\Entity\EntityInterface $entity */ 
148+           $ entity$ rendering_object'# '  . $ rendering_object'#entity_type ' ]];
149+ 
150+           // Use entity field so the hypothetical rendering elements are not 
151+           // to be taken into account to consider the field empty or not. 
152+           if  ($ entityhasField ($ field'source ' ]) && !$ entity$ field'source ' ]}->isEmpty ()) {
153+             $ element'#is_empty ' ] = FALSE ;
139154          }
140155        }
156+         elseif  (!empty ($ element$ field'source ' ]])) {
157+           $ element'#is_empty ' ] = FALSE ;
158+         }
141159        $ element'#fields ' ][$ field'destination ' ]][$ field'source ' ]] = $ element$ field'source ' ]];
142160      }
143161
144-       // Add render array metadata. 
145-       $ this addRenderContext ($ element$ groupformat_settings );
162+       // Prevent to show the group if fields are empty. 
163+       if  ($ element'#is_empty ' ] && empty ($ groupformat_settings ['show_empty_fields ' ])) {
164+         $ element
165+       }
166+       else  {
167+         // Add render array metadata. 
168+         $ this addRenderContext ($ element$ groupformat_settings );
169+       }
146170    }
147171    // Fallback to default pre_rendering for fieldgroups not managed by UI 
148172    // Patterns. 
0 commit comments