From 798800c65347eab3b3ee74d3b7bd08ffc46d015e Mon Sep 17 00:00:00 2001 From: catch Date: Mon, 11 Jul 2022 23:41:11 +0900 Subject: [PATCH] Issue #3294720 by abramm: The attachBehaviors() for document is only called after Big Pipe chunks are processed --- core/modules/big_pipe/js/big_pipe.es6.js | 5 +++++ core/modules/big_pipe/js/big_pipe.js | 3 +++ 2 files changed, 8 insertions(+) diff --git a/core/modules/big_pipe/js/big_pipe.es6.js b/core/modules/big_pipe/js/big_pipe.es6.js index 0792a793ee1..097a036472d 100644 --- a/core/modules/big_pipe/js/big_pipe.es6.js +++ b/core/modules/big_pipe/js/big_pipe.es6.js @@ -93,6 +93,11 @@ return false; } + // Attach Drupal behaviors early, if possible. + once('big-pipe-early-behaviors', 'body', context).forEach((el) => { + Drupal.attachBehaviors(el); + }); + once( 'big-pipe', 'script[data-big-pipe-replacement-for-placeholder-with-id]', diff --git a/core/modules/big_pipe/js/big_pipe.js b/core/modules/big_pipe/js/big_pipe.js index edcf98f0a76..e9e8497bf09 100644 --- a/core/modules/big_pipe/js/big_pipe.js +++ b/core/modules/big_pipe/js/big_pipe.js @@ -47,6 +47,9 @@ return false; } + once('big-pipe-early-behaviors', 'body', context).forEach(el => { + Drupal.attachBehaviors(el); + }); once('big-pipe', 'script[data-big-pipe-replacement-for-placeholder-with-id]', context).forEach(bigPipeProcessPlaceholderReplacement); if (context.querySelector('script[data-big-pipe-event="stop"]')) {