// npm package: sweetalert2 // github link: https://github.com/sweetalert2/sweetalert2 $(function() { showSwal = function(type) { 'use strict'; if (type === 'basic') { swal.fire({ text: 'Any fool can use a computer', confirmButtonText: 'Close', confirmButtonClass: 'btn btn-danger', }) } else if (type === 'title-and-text') { Swal.fire( 'The Internet?', 'That thing is still around?', 'question' ) } else if (type === 'title-icon-text-footer') { Swal.fire({ icon: 'error', title: 'Oops...', text: 'Something went wrong!', footer: 'Why do I have this issue?' }) } else if (type === 'custom-html') { Swal.fire({ title: 'HTML example', icon: 'info', html: 'You can use bold text, ' + 'links ' + 'and other HTML tags', showCloseButton: true, showCancelButton: true, focusConfirm: false, confirmButtonText: ' Great!', confirmButtonAriaLabel: 'Thumbs up, great!', cancelButtonText: '', cancelButtonAriaLabel: 'Thumbs down', }); feather.replace(); } else if (type === 'custom-position') { Swal.fire({ position: 'top-end', icon: 'success', title: 'Your work has been saved', showConfirmButton: false, timer: 1500 }) } else if (type === 'passing-parameter-execute-cancel') { const swalWithBootstrapButtons = Swal.mixin({ customClass: { confirmButton: 'btn btn-success', cancelButton: 'btn btn-danger me-2' }, buttonsStyling: false, }) swalWithBootstrapButtons.fire({ title: 'Are you sure?', text: "You won't be able to revert this!", icon: 'warning', showCancelButton: true, confirmButtonClass: 'me-2', confirmButtonText: 'Yes, delete it!', cancelButtonText: 'No, cancel!', reverseButtons: true }).then((result) => { if (result.value) { swalWithBootstrapButtons.fire( 'Deleted!', 'Your file has been deleted.', 'success' ) } else if ( // Read more about handling dismissals result.dismiss === Swal.DismissReason.cancel ) { swalWithBootstrapButtons.fire( 'Cancelled', 'Your imaginary file is safe :)', 'error' ) } }) } else if (type === 'message-with-auto-close') { let timerInterval Swal.fire({ title: 'Auto close alert!', html: 'I will close in milliseconds.', timer: 2000, timerProgressBar: true, didOpen: () => { Swal.showLoading() timerInterval = setInterval(() => { const content = Swal.getHtmlContainer() if (content) { const b = content.querySelector('b') if (b) { b.textContent = Swal.getTimerLeft() } } }, 100) }, willClose: () => { clearInterval(timerInterval) } }).then((result) => { /* Read more about handling dismissals below */ if (result.dismiss === Swal.DismissReason.timer) { console.log('I was closed by the timer') } }) } else if (type === 'message-with-custom-image') { Swal.fire({ title: 'Sweet!', text: 'Modal with a custom image.', // imageUrl: 'https://unsplash.it/400/200', imageUrl: '../assets/images/others/placeholder.jpg', imageWidth: 400, imageHeight: 200, imageAlt: 'Custom image', }) } else if (type === 'mixin') { const Toast = Swal.mixin({ toast: true, position: 'top-end', showConfirmButton: false, timer: 3000, timerProgressBar: true, }); Toast.fire({ icon: 'success', title: 'Signed in successfully' }) } } });