32 lines
1 KiB
CoffeeScript
32 lines
1 KiB
CoffeeScript
#= require clipboard
|
|
|
|
$ ->
|
|
clipboard = new Clipboard '.js-clipboard-trigger',
|
|
text: (trigger) ->
|
|
$target = $(trigger.nextElementSibling || trigger.previousElementSibling)
|
|
$target.data('clipboard-text') || $target.text().trim()
|
|
|
|
clipboard.on 'success', (e) ->
|
|
$(e.trigger).
|
|
tooltip(trigger: 'manual', placement: 'auto bottom', title: 'Copied!').
|
|
tooltip('show').
|
|
one('mouseleave', -> $(this).tooltip('hide'))
|
|
|
|
# Clear the selection and blur the trigger so it loses its border
|
|
e.clearSelection()
|
|
$(e.trigger).blur()
|
|
|
|
# Safari doesn't support `execCommand`, so instead we inform the user to
|
|
# copy manually.
|
|
#
|
|
# See http://clipboardjs.com/#browser-support
|
|
clipboard.on 'error', (e) ->
|
|
if /Mac/i.test(navigator.userAgent)
|
|
title = "Press ⌘-C to copy"
|
|
else
|
|
title = "Press Ctrl-C to copy"
|
|
|
|
$(e.trigger).
|
|
tooltip(trigger: 'manual', placement: 'auto bottom', html: true, title: title).
|
|
tooltip('show').
|
|
one('mouseleave', -> $(this).tooltip('hide'))
|