From 81857889e9190d75287a1facd6d08054e652e096 Mon Sep 17 00:00:00 2001 From: Pavel Prokofiev Date: Fri, 23 May 2025 00:53:10 +0300 Subject: [PATCH] fix(edit-action): parent select argument fixed - https://github.com/15web/filament-tree/issues/3 --- src/Components/Form/ParentSelect.php | 8 +++++++- src/Components/Row.php | 5 ++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/src/Components/Form/ParentSelect.php b/src/Components/Form/ParentSelect.php index e61d46b..2c73135 100644 --- a/src/Components/Form/ParentSelect.php +++ b/src/Components/Form/ParentSelect.php @@ -9,6 +9,7 @@ use Illuminate\Support\Str; use Kalnoy\Nestedset\NestedSet; use Kalnoy\Nestedset\QueryBuilder; +use RuntimeException; /** * Parent select builder @@ -22,9 +23,14 @@ public static function make(QueryBuilder $query): Select $query->getModel()::class::getTreeLabelAttribute(), ); + $depth = $item->getAttribute('depth'); + if ($depth < 1) { + throw new RuntimeException('The tree is corrupted, please Fix tree'); + } + $prefix = Str::repeat( string: '--', - times: $item->getAttribute('depth'), + times: $depth, ); return trim("{$prefix} {$title}"); diff --git a/src/Components/Row.php b/src/Components/Row.php index 56c8248..2f015f6 100644 --- a/src/Components/Row.php +++ b/src/Components/Row.php @@ -16,6 +16,7 @@ use Illuminate\Contracts\View\View; use Illuminate\Database\Eloquent\Model; use Kalnoy\Nestedset\NestedSet; +use Kalnoy\Nestedset\QueryBuilder; use Livewire\Attributes\Computed; use Livewire\Attributes\On; use Livewire\Attributes\Session; @@ -72,9 +73,11 @@ public function editAction(): EditAction $form = $this->component::getEditForm(); if (config('filament-tree.show-parent-select-while-edit')) { + $model = $this->component::getModel(); + array_unshift( $form, - ParentSelect::make($this->component::getModel()), + ParentSelect::make($model instanceof QueryBuilder ? $model : $model::query()), ); }