DEV Community

Cover image for Global livewire notifications with SweetAlert

Global livewire notifications with SweetAlert

Pedro Henrique on August 19, 2020

EDIT: I created a new idea for this, go to https://github.com/PH7-Jack/wireui to know It is normal in all software after performing an action, sho...
Collapse
 
bayu profile image
Diarsa

hello, what's mean the 'method' => 'appointments:delete', after confirm delete? is the livewire method? or route named?

Collapse
 
ph7jack profile image
Pedro Henrique

is a name of livewire listener

Collapse
 
bayu profile image
Diarsa

if my namespace is namespace App\Http\Livewire\Admin\Main; and the class is Org, and method I want to call is delete, then what should I fill in the 'method' ?

Thread Thread
 
ph7jack profile image
Pedro Henrique

you put the name of the listener, no matter where the class is, what is taken into account is the name of the listener.
An important point to think about is that there can be 2 components with the "delete" listener, so put a prefix in this case, ex: "user: delete" and "team: delete"

Thread Thread
 
bayu profile image
Diarsa

I try to protected $listeners = ['confirm' => 'syncFromDC']; but nothing happen after click Oke.

Thread Thread
 
bayu profile image
Diarsa
Thread Thread
 
8rux40 profile image
Bruno Tardin • Edited

Any solution? Same thing here... After confirm the dialog nothing happens.
This is some of my User class:

public function confirmDelete($id){
        $this->emit("swal:confirm", [
            'type'        => 'warning',
            'title'       => 'Tem certeza?',
            'text'        => "Você não poderá reverter isso!",
            'confirmText' => 'Sim, desativar!',
            'method'      => 'usuario:delete',
            'params'      => $id, // optional, send params to success confirmation
            'callback'    => '', // optional, fire event if no confirmed
        ]);
    }

public function delete($id) {
        if ($id){
            User::find($id)->delete();
            $this->emit('swal:alert', [
                'type'  => 'success',
                'title'  => "Usuário desativado com sucesso!",
                'timeout' => 3000,
            ]);
        }
    }
Enter fullscreen mode Exit fullscreen mode
Thread Thread
 
8rux40 profile image
Bruno Tardin

Works for me now that I have declared the $listeners in my Usuario class:

protected $listeners = ['usuario:delete' => 'delete'];
...
public function confirmDelete($id){
        ...
    }

public function delete($id) {
        ...
    }
Enter fullscreen mode Exit fullscreen mode
Collapse
 
saaberdev profile image
Mahfuzur Rahman Saber

Hey brother, can you please tell me how these parts are working ??

'method' => 'appointments:delete',
'params' => [], // optional, send params to success confirmation
'callback' => '', // optional, fire event if no confirmed

Collapse
 
ph7jack profile image
Pedro Henrique

Hello
in the key method, inform the livewire listener that will receive the event
the parameter key is to pass data to this event, like an id, name ..
the callback key is used when confirmation is denied, eg ask to delete, if the answer is no, call event X

Collapse
 
sterlaznikow profile image
PiMyLife

very poorly explained. could use a simple example