diff options
author | Thomas Lange <code@nerdmind.de> | 2018-01-21 11:01:08 +0100 |
---|---|---|
committer | Thomas Lange <code@nerdmind.de> | 2018-01-21 11:01:08 +0100 |
commit | da4f78acb9b9d932423bf59a791554cf9552381b (patch) | |
tree | 0cd4a9c8313c75cdb9a6b3aafa941dabc22761d8 /include/classes/BigPipe/Pagelet.php | |
parent | ad58f8bbc662e6714740163de3794b8e36b11cfc (diff) | |
download | bigpipe-da4f78acb9b9d932423bf59a791554cf9552381b.tar.gz bigpipe-da4f78acb9b9d932423bf59a791554cf9552381b.tar.xz bigpipe-da4f78acb9b9d932423bf59a791554cf9552381b.zip |
Move BigPipe::singleResponse() to Pagelet::flush()
Diffstat (limited to 'include/classes/BigPipe/Pagelet.php')
-rw-r--r-- | include/classes/BigPipe/Pagelet.php | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/include/classes/BigPipe/Pagelet.php b/include/classes/BigPipe/Pagelet.php index ae465ab..101ec34 100644 --- a/include/classes/BigPipe/Pagelet.php +++ b/include/classes/BigPipe/Pagelet.php @@ -148,6 +148,24 @@ class Pagelet extends Item { } #=============================================================================== + # Flush pagelet immediately + #=============================================================================== + public function flush() { + if(BigPipe::enabled()) { + $pageletHTML = removeLineBreaksAndTabs($this->getHTML()); + $pageletHTML = str_replace('--', '--', $pageletHTML); + + $pageletJSON = json_encode($this->getStructure()); + + echo "<code hidden id=\"_{$this->getID()}\"><!-- {$pageletHTML} --></code>\n"; + echo "<script>BigPipe.onPageletArrive({$pageletJSON}, document.getElementById(\"_{$this->getID()}\"));</script>\n\n"; + + BigPipe::dequeue($this); + BigPipe::flushOutputBuffer(); + } + } + + #=============================================================================== # Magic method: __toString() #=============================================================================== public function __toString() { |