Как сделать всю кнопку подтверждения ссылкой в ​​sweetalert2 в контроллере laravel - PullRequest
1 голос
/ 26 сентября 2019

У меня есть подсластитель из https://realrashid.github.io/sweet-alert/, который я использую в своем контроллере.Моя кнопка подтверждения работает только при нажатии на текст «Да», так как именно здесь находится ссылка.Если я нажимаю в любом месте на кнопку подтверждения, предупреждение просто закрывается.Я бы хотел, чтобы вся кнопка прошла по ссылке.Спасибо.

public function show($id) {
  $user = User::find($id);

  Alert::warning('Deleting user -<br/>are you sure?')
    ->showCancelButton($btnText = 'Cancel', $btnColor = '#dc3545')
    ->showConfirmButton($btnText = '<a href="/admin/users/'. $id .'/delete">Yes</a>', $btnColor = '#38c177')
    ->autoClose(false);

  return redirect()->route('users.index');
}

1 Ответ

0 голосов
/ 26 сентября 2019

Кажется, что в библиотеке нет API для добавления каких-либо действий, поэтому вы можете использовать грязный хак:

Добавить некоторый класс для вашей ссылки, добавить класс и для кнопки:

Alert::warning('Deleting user -<br/>are you sure?')
    ->showCancelButton($btnText = 'Cancel', $btnColor = '#dc3545')
    ->showConfirmButton(
        $btnText = '<a class="add-padding" href="/admin/users/'. $id .'/delete">Yes</a>', // here is class for link
        $btnColor = '#38c177',
        ['className'  => 'no-padding'], // add class to button
    )->autoClose(false);

Установить стили для этого класса в CSS:

.no-padding {padding:0 !important;}

.add-padding {
    padding: .625em 2em; # padding as you need according your styles
    display: inline-block;
}
...