K

Tabulka

Notifikace tabulky

Wire používá notifikace k potvrzení dokončených akcí, hlášení selhání a zobrazení práce na pozadí uživateli.

Na této stránce

Wire používá notifikace k potvrzení dokončených akcí, hlášení selhání a zobrazení práce na pozadí uživateli.

Výchozí použití

Nejjednodušší cesta je nechat akce odeslat úspěšné nebo chybové zprávy.

use NyonCode\WireCore\Actions\Action;
 
Action::make('save')
->successNotification('User saved.')
->failureNotification('User could not be saved.')
->action(function (User $record, Action $action) {
try {
$record->save();
$action->sendSuccessNotification();
} catch (\Throwable $e) {
$action->sendFailureNotification();
}
})

Manuální notifikace

Manuální notifikace použijte, když výsledek závisí na runtime podmínkách.

use NyonCode\WireCore\Notifications\Notification;
 
Action::make('process')
->action(function (User $record, Action $action) {
if ($record->hasWarnings()) {
$action->sendNotification(
Notification::warning('Processed with warnings.')
);
 
return;
}
 
$action->sendNotification(
Notification::success('Processing finished.')
);
})

Typy notifikací

Typ Typické použití
success Uložení, smazání, import, publikování
error Selhání, výjimka, neplatný externí stav
warning Částečné dokončení, rizikové navazující kroky
info Spuštěný job, zařazená práce, neutrální zpětná vazba

Toast kontejner

Pokud chcete vestavěné vykreslování toastů, přidejte kontejner do layoutu:

<x-wire-notifications::toast-container />

Bez něj lze notifikace stále odesílat přes vlastní driver, ale výchozí vizuální kontejner se nevykreslí.

Drivery

Doručování notifikací je založené na driverech.

Driver Použijte když
CurrentComponentDriver Vestavěný výchozí — resolvuje aktivní Livewire komponentu a deleguje na SessionDriver (flash + live toast s plným payloadem)
SessionDriver Laravel flash-style doručování plus live událost s plným payloadem
LivewireEventDriver Chcete jen live toasty bez session flashe
FlasherDriver Používáte php-flasher
Vlastní driver Potřebujete integraci specifickou pro projekt

Přepis per tabulka

use NyonCode\WireCore\Notifications\Drivers\LivewireEventDriver;
 
->notificationDriver(new LivewireEventDriver('wire-toast'))

Globální konfigurace

// config/wire-table.php
'notification_driver' => null,

Zde nastavte třídu driveru, pokud chcete jeden výchozí pro celou aplikaci.

Vlastní objekt notifikace

Když potřebujete více kontroly, sestavte notifikaci explicitně.

Notification::success('User saved.')
->title('Done')
->duration(4000)
->icon('check')
->position('top-right')

TableNotification stále existuje jako zpětně kompatibilní alias, ale nový kód by měl používat Notification.

Související dokumentace