Project2021/PMS

[api] (javascript) Sweetalert2

뱅타 2021. 6. 7. 21:56

Alert 창 중에 무료로 쓸만한 alter api를 찾다가 sweetalert를 접하게 되었습니다.

sweetalert에는 1, 2가 존재하는데, 1은 약 3년 전부터 upload가 되어있질 않더군요.

그래서 2를 사용하게 되었습니다.

 

Sweetalert2 사이트 주소

https://sweetalert2.github.io/

Sweetalert2 git 주소

https://github.com/sweetalert2/sweetalert2

 

Sweetalert2 cdn 주소

https://www.jsdelivr.com/package/npm/sweetalert2

 

cdn으로 전체 불러오기

<script src="//cdn.jsdelivr.net/npm/sweetalert2@11"></script>

 

기본 사용법

Swal.fire('Hello world!'); Swal.fire('Oops...', 'Something went wrong!', 'error');

Swal.file("success");로 주고 실행시켜 보니

이렇게 밖에 뜨지 않더군요. 그래서 살짝 모듈화를 시켜 보았습니다.

code

var swal = { 		error : function(data){ 			if(!data);} 			Swal.fire({ 				icon: 'error', 				title: typeof data.title !=='undefined' ? data.title : 'Oops...',  				text: !!data.text ? data.text : 'Something went wrong!', 				showConfirmButton : !!data.confirm ? true : false, 				timer: 1500 			}) 		}, 		success : function(data){ 			if(!data);} 				Swal.fire({ 					icon: 'success', 					title: !!data.title ? data.title : 'Success!!', 					text: !!data.text ? data.text : 'Your work has been saved!', 					showConfirmButton : !!data.confirm ? true : false, 					timer: 1500 				}) 		}, 		warning : function(data){ 			if(!data);} 			Swal.fire({ 				icon: 'warning', 				title: !!data.title ? data.title : 'Oops...',  				text: !!data.text ? data.text : 'You should do someting first!', 				showConfirmButton : !!data.confirm ? true : false, 				timer: 1500 			}) 		}, 		info : function(data){ 			if(!data);} 			Swal.fire({ 				icon: 'info', 				title: !!data.title ? data.title : 'Have to know!',  				text: !!data.text ? data.text : 'blablabla', 				showConfirmButton : !!data.confirm ? true : false, 				timer: 1500 			}) 		} 	}

 

이렇게 최상단의 jsp 파일에 추가해서 사용하면 원한는 값이 잘 나오는 것을 알 수 있습니다.

swal.success();

 

icon(type)에는 총 5가지 경우가 존재하고

 

원하신다면 modal을 활용한 창 역시 사용하실 수 있습니다.

그 외에 Swal.mixin({})을 활용해서 조금 더 다양한 효과를 줄 수도 있습니다.

const Toast = Swal.mixin({   toast: true,   position: 'top-end',   showConfirmButton: false,   timer: 3000,   timerProgressBar: true,   didOpen: (toast) => {     toast.addEventListener('mouseenter', Swal.stopTimer)     toast.addEventListener('mouseleave', Swal.resumeTimer)   } })  Toast.fire({   icon: 'success',   title: 'Signed in successfully' })

 

728x90
반응형

'Project2021 > PMS' 카테고리의 다른 글

[PMS]프로젝트 관리 소프트웨어01_Redmine  (2) 2021.05.03