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.