Advanced

Toasts

Flash

Уведомления (Toast) работают через механизм сессий (session()->flash()) и легко вызываются прямо из контроллера.

use MoonShine\Support\Enums\ToastType;
 
MoonShineUI::toast(message: 'Hello');

Вы можете дополнительно задать тип уведомления и длительность его отображения:

MoonShineUI::toast(
message: 'Success',
type: ToastType::SUCCESS,
duration: 3000
);
  • $type - управляет цветом уведомления,
  • $duration - устанавливает время отображения уведомления в миллисекундах. По умолчанию уведомления отображаются 2 секунды.

Если вы хотите, чтобы уведомление не исчезало автоматически, а убиралось только после клика:

MoonShineUI::toast(message: 'Success', duration: false);

MoonShineJsonResponse

MoonShineJsonResponse::make()->toast('Test', type: ToastType::SUCCESS, duration: 1000)

Используются такие же параметры

Events

ActionButton::make('Toast')->dispatchEvent(
AlpineJs::event(
JsEvent::TOAST, params: ToastEventParams::make(ToastType::SUCCESS, 'Hello', duration: 2000)
)
),

Используются такие же параметры

Длительность

Вы можете подключить js скрипт и глобально переопределить длительность отображения уведомлений

MoonShine.config().setToastDuration(5000)