CodeWithDennis / filament-select-tree

The multi-level select field lets you pick one or multiple options from a list that is neatly organized into different levels.
MIT License
204 stars 28 forks source link

[Bug]: If I want to select multiple values, each time I need to click the select. The nodes closing immediately after each item selected #119

Open CWSPS154 opened 1 month ago

CWSPS154 commented 1 month ago

What happened?

Attaching the video Screencast from 01-08-24 12:26:03 PM IST.webm

How to reproduce the bug

SelectTree::make('permission_id') ->label('Permissions') ->live() ->relationship('permissions', 'name','parent_id', function ($query) { return $query->where('status', true); },function ($query) { return $query->where('status', true); }) ->searchable() ->columnSpanFull()

Package Version

3.1.42

PHP Version

8.2

Laravel Version

11.18.1

Which operating systems does with happen with?

Linux

Notes

No response

CWSPS154 commented 1 month ago

Any update on this issue? @CodeWithDennis

CodeWithDennis commented 2 weeks ago

That should only happen with single select fields. Can you share your code and maybe a short video?

CWSPS154 commented 2 weeks ago

Thank You for response, Actually I am using multi select, only.Could please check this video Video

CodeWithDennis commented 2 weeks ago

Thanks, that's definitely strange... does the behavior stop when you remove live()?

CWSPS154 commented 2 weeks ago

Without the live(), its working as expected

CWSPS154 commented 2 weeks ago

@CodeWithDennis SelectTree::make('permission_id') ->label(__('filament-users-roles-permissions::users-roles-permissions.role.resource.form.permissions')) ->relationship('permissions', 'name', 'parent_id', function ($query) { return $query->where('status', true); }, function ($query) { return $query->where('status', true); }) ->afterStateUpdated(function (Get $get, $state, Forms\Set $set) { if ($get('all_permission')) { $set('all_permission', !$state); } }) ->searchable() ->columnSpanFull() I need to implements this, but without live(), its not work

CodeWithDennis commented 2 weeks ago

@CodeWithDennis

SelectTree::make('permission_id')

                ->label(__('filament-users-roles-permissions::users-roles-permissions.role.resource.form.permissions'))

                ->relationship('permissions', 'name', 'parent_id', function ($query) {

                    return $query->where('status', true);

                }, function ($query) {

                    return $query->where('status', true);

                })

                ->afterStateUpdated(function (Get $get, $state, Forms\Set $set) {

                    if ($get('all_permission')) {

                        $set('all_permission', !$state);

                    }

                })

                ->searchable()

                ->columnSpanFull()

I need to implements this, but without live(), its not work

I figured, i wont have time since im leaving for holiday soon but if you want to take a crack at it i would appreciate it