0

I have a MultiselectTwoSides component on laravel site, which I need to fill with related full users list on left side with ticket_id parameter on prior step and users which were selected before for selected ticket on prior session. I try to use callable method for default method:

Select::make('task_id')
    ->label('Task')
    ->options(Task::query()->orderBy('id', 'asc')->pluck('title', 'id'))
    ->reactive()
    ->required(),

Select::make('ticket_id')
    ->label('Has tickets')
    ->options(function (callable $get) {
        $task = Task::find($get('task_id'));

        if(!$task) {
            return [];
        }
        return $task->tickets->pluck('title', 'id');
    })
    ->reactive()
    ->required(),

MultiselectTwoSides::make('users')
    ->options(function (callable $get) {
        $ticket = Ticket::find($get('ticket_id'));

        if(!$ticket) {
            return [];
        }
        $users = User::get()->pluck('name', 'id');
        $selectedUsers = $ticket->users->pluck('name', 'id');
        foreach( $users as $userId=>$user ) {
            foreach( $selectedUsers as $selectedUserId=>$selectedUser ) {
                if($selectedUserId === $userId) {
                    unset($users[$userId]);
                }
            }
        }
        return $users;
    })
    ->default(function (callable $get) {
        $ticket = Ticket::find($get('ticket_id'));
        \Log::info( ' default callback::');  // I HAVE NOT FIND THIS MESSAGE IN LOG FILE

        if(!$ticket) {
            return [];
        }
        return $ticket->users->pluck('name', 'id');
    }) //  ->default(['admin', 'manager']),
    ->label('Select users')
    ->selectableLabel('Available users')
    ->selectedLabel('Selected users'),

As a result, I have a valid 'Available users' left list filled, but right list 'Selected users' is always empty.

Looks like there are no debugging lines:

' default callback::'

In log file default callback method is not called.

How can I fill default options on data in database?

"filament/filament": "^2.17.43",
"lucasgiovanny/filament-multiselect-two-sides": "^1.1.2",
matiaslauriti
  • 7,065
  • 4
  • 31
  • 43
Petro Gromovo
  • 1,755
  • 5
  • 33
  • 91

0 Answers0