Tables\Actions\Action::make('edit')
->mountUsing(fn (Forms\ComponentContainer $form, Customer $record) => $form->fill([
'approver' => $record->id,
'name' => $record->name.' ('.$record->member_id.')',
'child' => Customer::where('approver', $record->id)->pluck('id'),
]))
->form(function (Customer $record) {
return [
Forms\Components\Group::make()
->schema([
Forms\Components\Hidden::make('approver'),
Forms\Components\TextInput::make('name')->disabled(),
Forms\Components\Select::make('child')
->multiple()
->required()
->options(
Customer::query()
->where('id', '!=', $record->id)
->hasNotChild()
// ->primaryAccount()
->active()
->pluck('name', 'id')
)
->getOptionLabelUsing(fn ($value): ?string => Customer::find($value)?->name)
->searchable(),
])
->columns(2),
];
})
Tables\Actions\Action::make('edit')
->mountUsing(fn (Forms\ComponentContainer $form, Customer $record) => $form->fill([
'approver' => $record->id,
'name' => $record->name.' ('.$record->member_id.')',
'child' => Customer::where('approver', $record->id)->pluck('id'),
]))
->form(function (Customer $record) {
return [
Forms\Components\Group::make()
->schema([
Forms\Components\Hidden::make('approver'),
Forms\Components\TextInput::make('name')->disabled(),
Forms\Components\Select::make('child')
->multiple()
->required()
->options(
Customer::query()
->where('id', '!=', $record->id)
->hasNotChild()
// ->primaryAccount()
->active()
->pluck('name', 'id')
)
->getOptionLabelUsing(fn ($value): ?string => Customer::find($value)?->name)
->searchable(),
])
->columns(2),
];
})