Comparte:
Notificar al usuario al acabar un evento
Hola,
tengo una cuestión sobre Livewire y no se muy bien como podría realizarse.
Actualmente hago lo siguiente:
Al enviarse un formulario, si no hay fallos de validación, se hace un dispatch de una tarea (Job) que cuando acaba notifica que ha finalizado al usuario que realizó la petición y Livewire solo muestra una mensaje de sesión indicando que la tarea se está llevando a cabo y hasta ahí bien,
Lo que quiero conseguir:
Quiero evitar tener que enviar una notificación al usuario, y hacer que Livewire reaccione y avise cuando acabe la tarea (Job) al usuario que la solicitó.
Esto es lo que hay en el componente Livewire.
tengo una cuestión sobre Livewire y no se muy bien como podría realizarse.
Actualmente hago lo siguiente:
Al enviarse un formulario, si no hay fallos de validación, se hace un dispatch de una tarea (Job) que cuando acaba notifica que ha finalizado al usuario que realizó la petición y Livewire solo muestra una mensaje de sesión indicando que la tarea se está llevando a cabo y hasta ahí bien,
Lo que quiero conseguir:
Quiero evitar tener que enviar una notificación al usuario, y hacer que Livewire reaccione y avise cuando acabe la tarea (Job) al usuario que la solicitó.
Esto es lo que hay en el componente Livewire.
/**
* @throws AuthorizationException
*/
public function storeInvoice(string $typeInvoice)
{
$this->authorize('create', Thing::class);
$validation = Validator::make($this->data, [
....
]);
$validatedData = $validation->validate();
if (!$validation->fails()) {
GenerateThing::dispatch(auth()->user(), $validatedData);
$this->reset('data');
session()->flash('status', __('The task is in process.'));
}
}
Y esto es lo que hay en el handle del Job.
/**
* Execute the job.
*
* @return void
*/
public function handle(): void
{
$this->startProcess();
$this->user->notify(new ThingProcessCompleted([
'title' => __('Process concluded'),
'message' => __('The creation of the thing has been processed..'),
'link' => ''
]));
}
Entonces mi duda es, ¿de que forma se podría hacer para que Livewire detecte que el Job ha finalizado y que reaccione mostrando una notificación visual al usuario para que sepa que acabó?
Gracias de antemano por la ayuda que me prestéis.