From e79058764a89c14554790ecb02367882fce2be18 Mon Sep 17 00:00:00 2001 From: darkdarin Date: Tue, 3 Oct 2023 23:28:34 +0400 Subject: [PATCH 1/2] fix: correct render Groupable fields nested in another Groupable field --- src/Screen/Builder.php | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/src/Screen/Builder.php b/src/Screen/Builder.php index 621c852b0..afe992fae 100644 --- a/src/Screen/Builder.php +++ b/src/Screen/Builder.php @@ -86,14 +86,22 @@ public function setPrefix(string $prefix = null): self public function generateForm(): string { collect($this->fields)->each(function (Fieldable $field) { - $this->form .= is_subclass_of($field, Groupable::class) - ? $this->renderGroup($field) - : $this->render($field); + $this->form .= $this->renderFieldable($field); }); return $this->form; } + /** + * @throws Throwable + */ + private function renderFieldable(Fieldable $field) + { + return is_subclass_of($field, Groupable::class) + ? $this->renderGroup($field) + : $this->render($field); + } + /** * @throws \Throwable * @@ -102,7 +110,7 @@ public function generateForm(): string private function renderGroup(Groupable $group) { $prepare = collect($group->getGroup()) - ->map(fn ($field) => $this->render($field)) + ->map($this->renderFieldable(...)) ->filter() ->toArray(); From 59ea46cdcf518f313c50acbd9c465f3e35e46daf Mon Sep 17 00:00:00 2001 From: darkdarin Date: Tue, 3 Oct 2023 23:39:50 +0400 Subject: [PATCH 2/2] fix: use array function instead first-class callable syntax --- src/Screen/Builder.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Screen/Builder.php b/src/Screen/Builder.php index afe992fae..8dc873089 100644 --- a/src/Screen/Builder.php +++ b/src/Screen/Builder.php @@ -110,7 +110,7 @@ private function renderFieldable(Fieldable $field) private function renderGroup(Groupable $group) { $prepare = collect($group->getGroup()) - ->map($this->renderFieldable(...)) + ->map(fn(Fieldable $field) => $this->renderFieldable($field)) ->filter() ->toArray();