1
0
mirror of synced 2026-09-11 03:39:49 +00:00
Files

44 lines
1.3 KiB
JavaScript
Raw Permalink Normal View History

2013-09-07 08:02:59 -07:00
window.Spring = window.Spring || {};
$(document).ready(function() {
Spring.configureCopyButtons();
});
Spring.configureCopyButtons = function() {
2016-04-26 10:17:19 +02:00
$("pre.highlight").each(function(index) {
Spring.buildCopyButton($(this), index);
}
);
var errorMessage = function() {
if (/Mac/i.test(navigator.userAgent)) {
return 'Press Cmd-C to Copy';
}
else {
return 'Press Ctrl-C to Copy';
}
};
var snippets = new Clipboard('.copy-button');
snippets.on('success', function(e) {
e.clearSelection();
Spring.showTooltip(e.trigger, "Copied!");
});
snippets.on('error', function(e) {
Spring.showTooltip(e.trigger, errorMessage());
});
}
Spring.showTooltip = function(elem, message) {
$(elem).tooltip({placement:'right', title:message});
$(elem).tooltip('show');
setTimeout(function(){$(elem).tooltip('destroy');},1000);
2013-09-07 08:02:59 -07:00
}
Spring.buildCopyButton = function (preEl, id) {
2016-04-26 10:17:19 +02:00
var codeBlockId = "code-block-"+ id;
2013-09-07 08:02:59 -07:00
var copyButtonId = "copy-button-" + id;
preEl.attr('id', codeBlockId);
2016-04-26 10:17:19 +02:00
var button = $('<button class="copy-button snippet" id="' + copyButtonId + '" data-clipboard-target="#' + codeBlockId + '"></button>');
2013-09-07 08:02:59 -07:00
preEl.before(button);
}