40 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			40 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| /**
 | |
|  * UI Toasts
 | |
|  */
 | |
| 
 | |
| 'use strict';
 | |
| 
 | |
| function Toast () {
 | |
|   // Bootstrap toasts example
 | |
|   // --------------------------------------------------------------------
 | |
|   const toastPlacementExample = document.querySelector('.toast-placement-ex'),
 | |
|     toastPlacementBtn = document.querySelector('#showToastPlacement');
 | |
|   let selectedType, selectedPlacement, toastPlacement;
 | |
| 
 | |
|   // Dispose toast when open another
 | |
|   function toastDispose(toast) {
 | |
|     if (toast && toast._element !== null) {
 | |
|       if (toastPlacementExample) {
 | |
|         toastPlacementExample.classList.remove(selectedType);
 | |
|         DOMTokenList.prototype.remove.apply(toastPlacementExample.classList, selectedPlacement);
 | |
|       }
 | |
|       toast.dispose();
 | |
|     }
 | |
|   }
 | |
|   // Placement Button click
 | |
|   if (toastPlacementBtn) {
 | |
|     toastPlacementBtn.onclick = function () {
 | |
|       if (toastPlacement) {
 | |
|         toastDispose(toastPlacement);
 | |
|       }
 | |
|       selectedType = document.querySelector('#selectTypeOpt').value;
 | |
|       selectedPlacement = document.querySelector('#selectPlacement').value.split(' ');
 | |
| 
 | |
|       toastPlacementExample.classList.add(selectedType);
 | |
|       DOMTokenList.prototype.add.apply(toastPlacementExample.classList, selectedPlacement);
 | |
|       toastPlacement = new bootstrap.Toast(toastPlacementExample);
 | |
|       toastPlacement.show();
 | |
|     };
 | |
|   }
 | |
| };
 |