| 
					
				 | 
			
			
				@@ -0,0 +1,54 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+* v-clipboard 文字复制剪贴 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+* Copyright (c) 2021 ruoyi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import Clipboard from 'clipboard' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  bind(el, binding, vnode) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    switch (binding.arg) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      case 'success': 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        el._vClipBoard_success = binding.value; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      case 'error': 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        el._vClipBoard_error = binding.value; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      default: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        const clipboard = new Clipboard(el, { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          text: () => binding.value, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          action: () => binding.arg === 'cut' ? 'cut' : 'copy' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        clipboard.on('success', e => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          const callback = el._vClipBoard_success; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          callback && callback(e); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        clipboard.on('error', e => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          const callback = el._vClipBoard_error; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          callback && callback(e); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        el._vClipBoard = clipboard; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  update(el, binding) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if (binding.arg === 'success') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      el._vClipBoard_success = binding.value; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } else if (binding.arg === 'error') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      el._vClipBoard_error = binding.value; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      el._vClipBoard.text = function () { return binding.value; }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      el._vClipBoard.action = () => binding.arg === 'cut' ? 'cut' : 'copy'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  unbind(el, binding) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if (!el._vClipboard) return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if (binding.arg === 'success') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      delete el._vClipBoard_success; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } else if (binding.arg === 'error') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      delete el._vClipBoard_error; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      el._vClipBoard.destroy(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      delete el._vClipBoard; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 |