diff options
author | Marcia Ramos <virtua.creative@gmail.com> | 2018-04-02 18:06:02 +0300 |
---|---|---|
committer | 🚄 Job van der Voort 🚀 <job@gitlab.com> | 2018-04-02 18:06:02 +0300 |
commit | c209a27b6c65120e5b78f7327f81121b2839e44e (patch) | |
tree | d93edbe8b1ff8d72f3ed81c0fafc56954a936afc /content/assets/javascripts/clipboardjs.js | |
parent | e953c7326ae7c9667c5379bc69eb6ceda12c60e3 (diff) |
Add copy to clipboard button to code blocks
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); +}); |