Loading src/DataManager.php +34 −16 Original line number Diff line number Diff line Loading @@ -1090,7 +1090,6 @@ class DataManager { return; } $context = new RenderContext(); $base = ''; $extension = ''; foreach ($this->definitions[$type] as $entity) { Loading @@ -1099,18 +1098,14 @@ class DataManager { '#entity' => $entity, ]; $base .= $this->renderer->executeInRenderContext($context, function() use (&$renderableBase) { return $this->renderer->render($renderableBase); }); $base .= $this->renderGraphqls($renderableBase); $renderableExtension = [ '#theme' => 'entity_extension', '#entity' => $entity, ]; $extension .= $this->renderer->executeInRenderContext($context, function() use (&$renderableExtension) { return $this->renderer->render($renderableExtension); }); $extension .= $this->renderGraphqls($renderableExtension); } if ($type === 'node') { Loading @@ -1119,18 +1114,14 @@ class DataManager { '#entities' => $this->definitions[$type], ]; $base .= $this->renderer->executeInRenderContext($context, function() use (&$renderableBase) { return $this->renderer->render($renderableBase); }); $base .= $this->renderGraphqls($renderableBase); $renderableExtension = [ '#theme' => 'entity_extension_content', '#entities' => $this->definitions[$type], ]; $extension .= $this->renderer->executeInRenderContext($context, function() use (&$renderableExtension) { return $this->renderer->render($renderableExtension); }); $extension .= $this->renderGraphqls($renderableExtension); } $this->sdl[$type] = [ Loading Loading @@ -1394,15 +1385,42 @@ class DataManager { } public function getFragmentsAsSdl() { $context = new RenderContext(); $renderArray = [ '#theme' => 'entity_fragments', '#entities' => \Drupal::service('graphql_compose.datamanager')->getFragments(), '#showWrappers' => FALSE, ]; return \Drupal::service('renderer')->executeInRenderContext($context, function() use (&$renderArray) { return \Drupal::service('renderer')->render($renderArray); return $this->renderGraphqls($renderArray); } /** * Render wrapper to fix twig debug artifacts * * @param array $build * Drupal render array. * @param null|RenderContext $context * Render context to use. * * @return mixed * Result of the render. */ public function renderGraphqls(array $build, ?RenderContext $context = null) { $twig = \Drupal::service('twig'); if ($twig_debug = $twig->isDebug()) { $twig->disableDebug(); } $context = $context ?: new RenderContext(); $result = $this->renderer->executeInRenderContext($context, function() use ($build) { return $this->renderer->render($build); }); if ($twig_debug) { $twig->enableDebug(); } return $result; } } Loading
src/DataManager.php +34 −16 Original line number Diff line number Diff line Loading @@ -1090,7 +1090,6 @@ class DataManager { return; } $context = new RenderContext(); $base = ''; $extension = ''; foreach ($this->definitions[$type] as $entity) { Loading @@ -1099,18 +1098,14 @@ class DataManager { '#entity' => $entity, ]; $base .= $this->renderer->executeInRenderContext($context, function() use (&$renderableBase) { return $this->renderer->render($renderableBase); }); $base .= $this->renderGraphqls($renderableBase); $renderableExtension = [ '#theme' => 'entity_extension', '#entity' => $entity, ]; $extension .= $this->renderer->executeInRenderContext($context, function() use (&$renderableExtension) { return $this->renderer->render($renderableExtension); }); $extension .= $this->renderGraphqls($renderableExtension); } if ($type === 'node') { Loading @@ -1119,18 +1114,14 @@ class DataManager { '#entities' => $this->definitions[$type], ]; $base .= $this->renderer->executeInRenderContext($context, function() use (&$renderableBase) { return $this->renderer->render($renderableBase); }); $base .= $this->renderGraphqls($renderableBase); $renderableExtension = [ '#theme' => 'entity_extension_content', '#entities' => $this->definitions[$type], ]; $extension .= $this->renderer->executeInRenderContext($context, function() use (&$renderableExtension) { return $this->renderer->render($renderableExtension); }); $extension .= $this->renderGraphqls($renderableExtension); } $this->sdl[$type] = [ Loading Loading @@ -1394,15 +1385,42 @@ class DataManager { } public function getFragmentsAsSdl() { $context = new RenderContext(); $renderArray = [ '#theme' => 'entity_fragments', '#entities' => \Drupal::service('graphql_compose.datamanager')->getFragments(), '#showWrappers' => FALSE, ]; return \Drupal::service('renderer')->executeInRenderContext($context, function() use (&$renderArray) { return \Drupal::service('renderer')->render($renderArray); return $this->renderGraphqls($renderArray); } /** * Render wrapper to fix twig debug artifacts * * @param array $build * Drupal render array. * @param null|RenderContext $context * Render context to use. * * @return mixed * Result of the render. */ public function renderGraphqls(array $build, ?RenderContext $context = null) { $twig = \Drupal::service('twig'); if ($twig_debug = $twig->isDebug()) { $twig->disableDebug(); } $context = $context ?: new RenderContext(); $result = $this->renderer->executeInRenderContext($context, function() use ($build) { return $this->renderer->render($build); }); if ($twig_debug) { $twig->enableDebug(); } return $result; } }