Компоненты

Декоратор Fragment

Создание

Иногда вам нужно вернуть только часть шаблона в вашем HTTP-ответе. Для этого вы можете использовать Blade Fragments. Декоратор Fragment позволяет создавать соответствующие блоки.

Вы можете создать Fragment, используя статический метод make().

make(array $fields = [])

Метод name() устанавливает имя для фрагмента.

use MoonShine\Decorations\Fragment;
use MoonShine\Fields\Text;
 
//...
 
public function components(): array
{
return [
Fragment::make([
Text::make('Имя', 'first_name')
])
->name('fragment-name')
];
}
 
//...

Асинхронное событие

Вы можете включить область в Fragment и установить событие на эту область, вызывая которое можно будет обновить фрагмент

Fragment::make($fields)
->name('fragment-name'),

И в качестве примера давайте вызовем событие для успешной отправки формы

FormBuilder::make()->async(asyncEvents: 'fragment-updated-fragment-name')

Вы также можете передать дополнительные параметры с запросом через массив

Fragment::make($fields)
->name('fragment-name')
->updateAsync(['resourceItem' => request('resourceItem')]),

Передача параметров

Метод withParams() позволяет передавать значения полей с запросом, используя селекторы элементов.

Fragment::make($fields)
->withParams([
'start_date' => '#start_date',
'end_date' => '#end_date'
])
->name('fragment-name'),