Move from miccall theme to kaze
This commit is contained in:
50
js/copy.js
Normal file
50
js/copy.js
Normal file
@@ -0,0 +1,50 @@
|
||||
$(function () {
|
||||
// Add copy icon
|
||||
var $copyIcon = $('<i class="fa fa-clipboard" aria-hidden="true"></i>');
|
||||
var $notice = $('<div class="copy-notice"></div>');
|
||||
$('figure.highlight').prepend($copyIcon);
|
||||
$('figure.highlight').prepend($notice);
|
||||
// copy function
|
||||
function copy (text, ctx) {
|
||||
if (document.queryCommandSupported && document.queryCommandSupported('copy')) {
|
||||
try {
|
||||
document.execCommand('copy'); // Security exception may be thrown by some browsers.
|
||||
$(ctx).prev('.copy-notice')
|
||||
.text(GLOBAL_CONFIG.copy.success)
|
||||
.velocity({
|
||||
translateX: -30,
|
||||
opacity: 1
|
||||
}, {
|
||||
loop: 1,
|
||||
duration: 750,
|
||||
easing: 'easeOutQuint'
|
||||
});
|
||||
} catch (ex) {
|
||||
$(ctx).prev('.copy-notice')
|
||||
.text(GLOBAL_CONFIG.copy.error)
|
||||
.velocity({
|
||||
translateX: -30,
|
||||
opacity: 1
|
||||
}, {
|
||||
loop: 1,
|
||||
duration: 750,
|
||||
easing: 'easeOutQuint'
|
||||
});
|
||||
return false;
|
||||
}
|
||||
} else {
|
||||
$(ctx).prev('.copy-notice').text(GLOBAL_CONFIG.copy.noSupport);
|
||||
}
|
||||
}
|
||||
// click events
|
||||
$('.highlight .fa-clipboard').on('click', function () {
|
||||
var selection = window.getSelection();
|
||||
var range = document.createRange();
|
||||
range.selectNodeContents($(this).next('table').find('.code pre')[0]);
|
||||
selection.removeAllRanges();
|
||||
selection.addRange(range);
|
||||
var text = selection.toString();
|
||||
copy(text, this);
|
||||
selection.removeAllRanges();
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user