diff options
Diffstat (limited to 'content/assets/javascripts/clipboardjs.js')
-rw-r--r-- | content/assets/javascripts/clipboardjs.js | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/content/assets/javascripts/clipboardjs.js b/content/assets/javascripts/clipboardjs.js new file mode 100644 index 00000000..15f9ebf9 --- /dev/null +++ b/content/assets/javascripts/clipboardjs.js @@ -0,0 +1,37 @@ +// add a copy button to every code // working +$('pre').append($('<button class="clip-btn" title="Click to copy" data-selector="true"><i class="fa fa-clipboard" aria-hidden="true"></i></button>')); + +// Tooltip +$('button').tooltip({ + trigger: 'click', + placement: 'auto left' +}); + +function setTooltip(btn, message) { + $(btn).tooltip('hide') + .attr('data-original-title', message) + .tooltip('show'); +} + +function hideTooltip(btn) { + setTimeout(function() { + $(btn).tooltip('hide'); + }, 1000); +} + +// trigger clipboardjs +var clipboard = new ClipboardJS('.clip-btn', { + target: function(trigger) { + return trigger.previousElementSibling; + } +}); + +clipboard.on('success', function(e) { + setTooltip(e.trigger, 'Copied!'); + hideTooltip(e.trigger); +}); + +clipboard.on('error', function(e) { + setTooltip(e.trigger, 'Failed!'); + hideTooltip(e.trigger); +}); |