Blame view

src/utils/clipboard.js 633 Bytes
d7d9c38c2   Adam   auto commit the c...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
  import Vue from 'vue'
  import Clipboard from 'clipboard'
  
  function clipboardSuccess() {
    Vue.prototype.$message({
      message: 'Copy successfully',
      type: 'success',
      duration: 1500
    })
  }
  
  function clipboardError() {
    Vue.prototype.$message({
      message: 'Copy failed',
      type: 'error'
    })
  }
  
  export default function handleClipboard(text, event) {
    const clipboard = new Clipboard(event.target, {
      text: () => text
    })
    clipboard.on('success', () => {
      clipboardSuccess()
      clipboard.destroy()
    })
    clipboard.on('error', () => {
      clipboardError()
      clipboard.destroy()
    })
    clipboard.onClick(event)
  }