23 lines
		
	
	
		
			754 B
		
	
	
	
		
			JavaScript
		
	
	
	
			
		
		
	
	
			23 lines
		
	
	
		
			754 B
		
	
	
	
		
			JavaScript
		
	
	
	
| export default async function initClipboard() {
 | |
|   const els = document.querySelectorAll('.clipboard');
 | |
|   if (!els || !els.length) return;
 | |
| 
 | |
|   const {default: ClipboardJS} = await import(/* webpackChunkName: "clipboard" */'clipboard');
 | |
| 
 | |
|   const clipboard = new ClipboardJS(els);
 | |
|   clipboard.on('success', (e) => {
 | |
|     e.clearSelection();
 | |
|     $(e.trigger).popup('destroy');
 | |
|     e.trigger.dataset.content = e.trigger.dataset.success;
 | |
|     $(e.trigger).popup('show');
 | |
|     e.trigger.dataset.content = e.trigger.dataset.original;
 | |
|   });
 | |
| 
 | |
|   clipboard.on('error', (e) => {
 | |
|     $(e.trigger).popup('destroy');
 | |
|     e.trigger.dataset.content = e.trigger.dataset.error;
 | |
|     $(e.trigger).popup('show');
 | |
|     e.trigger.dataset.content = e.trigger.dataset.original;
 | |
|   });
 | |
| }
 |