filament-select-tree icon indicating copy to clipboard operation
filament-select-tree copied to clipboard

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

Open CWSPS154 opened this issue 1 year ago • 7 comments
trafficstars

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 avatar Aug 01 '24 06:08 CWSPS154

Any update on this issue? @CodeWithDennis

CWSPS154 avatar Aug 10 '24 10:08 CWSPS154

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

CodeWithDennis avatar Aug 25 '24 15:08 CodeWithDennis

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

CWSPS154 avatar Aug 25 '24 15:08 CWSPS154

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

CodeWithDennis avatar Aug 25 '24 15:08 CodeWithDennis

Without the live(), its working as expected

CWSPS154 avatar Aug 25 '24 15:08 CWSPS154

@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

CWSPS154 avatar Aug 25 '24 15:08 CWSPS154

@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

CodeWithDennis avatar Aug 25 '24 21:08 CodeWithDennis

Looking back at this, it seems the issue is caused because the field is being rendered live, which is what's closing it.

CodeWithDennis avatar Oct 28 '24 08:10 CodeWithDennis

@CodeWithDennis , Thank you. But I need to implement this with live(), because this field is dependence on some other columns

CWSPS154 avatar Oct 28 '24 09:10 CWSPS154

I understand. I’m not sure if I can fix that right now, but one thing you could try is using ->live(onBlur: true). Let me know if that helps.

CodeWithDennis avatar Oct 28 '24 09:10 CodeWithDennis

I already tried this, but it's not worked

CWSPS154 avatar Oct 28 '24 09:10 CWSPS154

The same issue with me. Do you have any updates?

note: I'm using it in the table filters.

DevYSM avatar Nov 04 '24 06:11 DevYSM