From 1a90496769a76328748986f0bd920089f8701c17 Mon Sep 17 00:00:00 2001 From: Benny Rahmat Date: Wed, 26 Jul 2023 09:49:05 +0800 Subject: [PATCH] feat: update LivewireCollector to supports Livewire v3 --- src/DataCollector/LivewireCollector.php | 21 +++++++++++++++++++++ src/LaravelDebugbar.php | 2 +- 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/src/DataCollector/LivewireCollector.php b/src/DataCollector/LivewireCollector.php index fe8d29d86..7aed46f51 100644 --- a/src/DataCollector/LivewireCollector.php +++ b/src/DataCollector/LivewireCollector.php @@ -12,6 +12,7 @@ use Illuminate\Support\Fluent; use Illuminate\Support\Str; use Livewire\Livewire; +use Livewire\Component; /** * Collector for Models. @@ -46,6 +47,26 @@ public function __construct(Request $request) $this->data[$key] = $this->formatVar($data); }); + + Livewire::listen('render', function (Component $component) use ($request) { + // Create an unique name for each compoent + $key = $component->getName() . ' #' . $component->getId(); + + $data = [ + 'data' => $component->all(), + ]; + + if ($request->request->get('id') == $component->getId()) { + $data['oldData'] = $request->request->get('data'); + $data['actionQueue'] = $request->request->get('actionQueue'); + } + + $data['name'] = $component->getName(); + $data['component'] = get_class($component); + $data['id'] = $component->getId(); + + $this->data[$key] = $this->formatVar($data); + }); } public function collect() diff --git a/src/LaravelDebugbar.php b/src/LaravelDebugbar.php index cfc6db4ad..9fa8476e1 100644 --- a/src/LaravelDebugbar.php +++ b/src/LaravelDebugbar.php @@ -838,7 +838,7 @@ protected function isDebugbarRequest() protected function isJsonRequest(Request $request) { // If XmlHttpRequest or Live, return true - if ($request->isXmlHttpRequest() || $request->headers->get('X-Livewire')) { + if ($request->isXmlHttpRequest() || $request->headers->has('X-Livewire')) { return true; }