1
0
Fork 0
mirror of https://github.com/eosswedenorg/apt synced 2026-06-16 04:34:56 +02:00
apt/_scripts/app.js

64 lines
1.5 KiB
JavaScript

anchors.add();
$(document).ready(function() {
$('.collapse-trigger').click(function() {
var target_id = $(this).attr('data-target');
if (target_id) {
var target = $(document).find('#' + target_id);
$(target).toggleClass('collapsed');
}
});
// adapted from https://stackoverflow.com/a/48078807/1217368
$('.highlight > pre').each(function(i) {
if (!$(this).parent().hasClass('no-select-button')) {
// create an id for the current code section
var currentId = "codeblock" + (i + 1);
// find the code section and add the id to it
var codeSection = $(this).find('code');
codeSection.attr('id', currentId);
// now create the button, setting the clipboard target to the id
var btn = document.createElement('a');
btn.setAttribute('type', 'button');
btn.setAttribute('class', 'btn btn-copy-code');
btn.setAttribute('data-clipboard-target', '#' + currentId);
btn.innerHTML = '<i class="far fa-file-code fa-2x"></i>';
this.insertBefore(btn, this.firstChild);
// Create tooltip
tippy(btn, {
trigger: 'manual',
content: "Copied!",
placement: 'left',
});
}
});
var clipboard = new ClipboardJS('.btn-copy-code');
// Attach callback to copy successful event.
clipboard.on('success', function(event) {
var tooltip = event.trigger._tippy;
// Clear text selection.
event.clearSelection();
// Show tooltiop
tooltip.show();
// After 1 second, hide it again.
setTimeout(function() {
tooltip.hide();
}, 1000, tooltip);
});
});