РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
⊗ppflSpOsAc 199 of 250 menu
◀ ▶

Действие вне панели в Filament

Давайте добавим действие вне панели. Кнопку поставим на /workers внутри Livewire-компонента.

Класс WorkerGreet.php подключит trait InteractsWithActions и примет модель работника. Метод greetAction вернёт Action::make с именем greet и заголовком окна из поля name:

<?php namespace App\Livewire; use App\Models\Worker; use Filament\Actions\Action; use Filament\Actions\Concerns\InteractsWithActions; use Filament\Actions\Contracts\HasActions; use Filament\Schemas\Concerns\InteractsWithSchemas; use Filament\Schemas\Contracts\HasSchemas; use Illuminate\Contracts\View\View; use Livewire\Component; class WorkerGreet extends Component implements HasActions, HasSchemas { use InteractsWithActions; use InteractsWithSchemas; public Worker $worker; public function mount(Worker $worker): void { $this->worker = $worker; } public function greetAction(): Action { return Action::make('greet') ->label('Greet') ->modalHeading($this->worker->name); } public function render(): View { return view('livewire.worker-greet'); } } ?>

В шаблоне выведем кнопку и блок модальных окон Filament:

<div> {{ $this->greetAction }} <x-filament-actions::modals /> </div>

На странице workers.blade.php подключим компонент с работником:

<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>Workers</title> </head> <body> @livewire('worker-greet', ['worker' => $worker]) </body> </html>

Поставьте на обычной странице кнопку, которая открывает окно с именем работника.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить