samuelpereiramachado/tall-sweetalert
Composer 安装命令:
composer require samuelpereiramachado/tall-sweetalert
包简介
SweetAlert2 auto-injected for Laravel TALL Stack. Zero configuration.
README 文档
README
Pacote Laravel que injeta automaticamente SweetAlert2 em toda resposta HTML. Instale com um comando. Sem configuração. Sem build tools. Funciona na hora.
🎯 Diferenciais
Este pacote é flexível e se adapta ao seu estilo de projeto:
⚡ Com Livewire (Experiência Completa)
- Macros Nativas: Use
$this->alert()e$this->confirm()direto do seu componente PHP. - Callbacks Automáticos: Confirmações chamam métodos do backend automaticamente.
- Integração Profunda: Sincronizado com o ciclo de vida do Livewire.
🌐 Sem Livewire (Laravel Puro)
- Zero Configuração: O SweetAlert2 é injetado e fica disponível globalmente (
window.Swal). - Assets Otimizados: Javascript servido com cache de 1 ano (
immutable). - Fácil Integração: Perfeito para usar com Flash Messages e Controllers padrão.
🚀 Instalação
composer require samuelpereiramachado/tall-sweetalert
É só isso. Não precisa publicar configs, rodar migrations, nem editar nenhum arquivo.
🔧 Uso com Livewire (Recomendado)
Se você tem o Livewire instalado, aproveite as macros para interagir com o usuário diretamente do seu backend PHP.
1. Disparar Alertas
// Sucesso $this->alert('Salvo!', 'Registro criado com sucesso.', 'success'); // Erro $this->alert('Erro!', 'Não foi possível salvar.', 'error'); // Aviso com timer $this->alert('Aviso', 'Sessão expira em breve.', 'warning', [ 'timer' => 3000, 'showConfirmButton' => false, ]);
2. Confirmação com Callback
O método $this->confirm() exibe uma pergunta e, se aceita, chama um método do seu componente automaticamente.
// No seu método de ação (ex: clique no botão excluir) public function confirmarExclusao($id) { $this->confirm( 'Excluir usuário?', ['method' => 'excluir', 'params' => $id], // Método a ser chamado se confirmado 'Esta ação não pode ser desfeita.', 'warning' ); } // Método que será executado APENAS se o usuário confirmar public function excluir($id) { User::findOrFail($id)->delete(); $this->alert('Excluído!', 'Usuário removido.', 'success'); }
🌐 Uso sem Livewire (Laravel Puro)
Se você não usa Livewire, o pacote ainda injeta o SweetAlert2 em todas as suas páginas.
1. Alertar via Controller (Flash Message)
Você pode usar a sessão do Laravel para enviar mensagens e exibi-las com um pequeno snippet no seu layout Blade:
No Controller:
public function store() { // ... lógica de salvar ... return redirect()->route('home')->with('success', 'Registro criado com sucesso!'); }
No seu Layout Blade (ex: app.blade.php):
@if (session('success'))
<script>
document.addEventListener("DOMContentLoaded", function () {
Swal.fire("Sucesso!", "{{ session('success') }}", "success");
});
</script>
@endif
2. Uso direto no Javascript
Você pode usar a biblioteca globalmente Swal em qualquer lugar:
<script> document.getElementById("meu-botao").addEventListener("click", () => { Swal.fire("Olá!", "SweetAlert2 funcionando!", "info"); }); </script>
Nota: As macros $this->alert() e $this->confirm() são exclusivas do Livewire.
⚙️ Como funciona
- Middleware Global: O pacote registra um middleware que intercepta respostas HTML.
- Injeção de Script: Ele insere a tag
<script src="...">do SweetAlert2 antes de fechar o</body>. - Cache Inteligente: O arquivo JS é servido por uma rota interna com headers de cache agressivos (1 ano), garantindo performance máxima após o primeiro carregamento.
📋 Requisitos
| Dependência | Versão |
|---|---|
| PHP | >= 8.1 |
| Laravel | 10, 11 ou 12 |
| Livewire | (Opcional) |
📄 Licença
MIT — veja LICENSE para detalhes.
Autor: Samuel Pereira Machado
统计信息
- 总下载量: 0
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 7
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2026-02-10