From 99d856213e45aad02e3bb60677eae4702077f12c Mon Sep 17 00:00:00 2001 From: Wim Leers Date: Wed, 13 Jul 2016 13:29:32 +0200 Subject: [PATCH 1/5] ip1 --- core/modules/big_pipe/src/Render/BigPipe.php | 11 ++++------- .../big_pipe/src/Render/Placeholder/BigPipeStrategy.php | 4 +++- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/core/modules/big_pipe/src/Render/BigPipe.php b/core/modules/big_pipe/src/Render/BigPipe.php index a965068..ef0cb99 100644 --- a/core/modules/big_pipe/src/Render/BigPipe.php +++ b/core/modules/big_pipe/src/Render/BigPipe.php @@ -539,14 +539,11 @@ protected function renderPlaceholder($placeholder, array $placeholder_render_arr * only keep the first occurrence. */ protected function getPlaceholderOrder($html, $placeholders) { - $fragments = explode('
', $fragment, 2); - $placeholder_id = $t[0]; - $placeholder_ids[] = $placeholder_id; + $dom = Html::load($html); + $xpath = new \DOMXPath($dom); + foreach ($xpath->query('//div[@data-big-pipe-placeholder-id]') as $node) { + $placeholder_ids[] = Html::escape($node->getAttribute('data-big-pipe-placeholder-id')); } $placeholder_ids = array_unique($placeholder_ids); diff --git a/core/modules/big_pipe/src/Render/Placeholder/BigPipeStrategy.php b/core/modules/big_pipe/src/Render/Placeholder/BigPipeStrategy.php index 91ad604..2af3a44 100644 --- a/core/modules/big_pipe/src/Render/Placeholder/BigPipeStrategy.php +++ b/core/modules/big_pipe/src/Render/Placeholder/BigPipeStrategy.php @@ -182,8 +182,10 @@ protected function doProcessPlaceholders(array $placeholders) { protected static function createBigPipeJsPlaceholder($original_placeholder, array $placeholder_render_array) { $big_pipe_placeholder_id = static::generateBigPipePlaceholderId($original_placeholder, $placeholder_render_array); + $interface_preview = "THIS IS A VERY CRAPPY PREVIEW OF $big_pipe_placeholder_id"; + return [ - '#markup' => '
', + '#markup' => '
' . $interface_preview . '
', '#cache' => [ 'max-age' => 0, 'contexts' => [ -- 2.9.0 From 1fa55fdcb0013ca9353b9606b8028b3613dc40ba Mon Sep 17 00:00:00 2001 From: Wim Leers Date: Thu, 14 Jul 2016 09:46:37 +0200 Subject: [PATCH 2/5] ip2 --- .../src/Render/Placeholder/BigPipeStrategy.php | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/core/modules/big_pipe/src/Render/Placeholder/BigPipeStrategy.php b/core/modules/big_pipe/src/Render/Placeholder/BigPipeStrategy.php index 2af3a44..8782a9a 100644 --- a/core/modules/big_pipe/src/Render/Placeholder/BigPipeStrategy.php +++ b/core/modules/big_pipe/src/Render/Placeholder/BigPipeStrategy.php @@ -4,6 +4,7 @@ use Drupal\Component\Utility\Html; use Drupal\Component\Utility\UrlHelper; +use Drupal\Core\Render\Markup; use Drupal\Core\Render\Placeholder\PlaceholderStrategyInterface; use Drupal\Core\Routing\RouteMatchInterface; use Drupal\Core\Session\SessionConfigurationInterface; @@ -182,10 +183,23 @@ protected function doProcessPlaceholders(array $placeholders) { protected static function createBigPipeJsPlaceholder($original_placeholder, array $placeholder_render_array) { $big_pipe_placeholder_id = static::generateBigPipePlaceholderId($original_placeholder, $placeholder_render_array); - $interface_preview = "THIS IS A VERY CRAPPY PREVIEW OF $big_pipe_placeholder_id"; + $interface_preview = ''; + + if (isset($placeholder_render_array['#lazy_builder'])) { + if (in_array($placeholder_render_array['#lazy_builder'][0], ['comment.lazy_builders:renderLinks', 'Drupal\node\NodeViewBuilder::renderLinks'])) { + $interface_preview_style = ""; + $interface_preview_markup = "