Files
wavelog/assets/js/sections/api.js

44 lines
1.3 KiB
JavaScript

// API page clipboard functions
function copyToClipboard(text, targetElement) {
if (navigator.clipboard && navigator.clipboard.writeText) {
// Modern Clipboard API
navigator.clipboard.writeText(text).then(function() {
targetElement.addClass('flash-copy')
.delay('1000').queue(function() {
targetElement.removeClass('flash-copy').dequeue();
});
}).catch(function(err) {
console.error('Failed to copy: ', err);
alert('Failed to copy to clipboard');
});
} else {
// Fallback for browsers that don't support clipboard API
var tempInput = document.createElement('input');
tempInput.value = text;
document.body.appendChild(tempInput);
tempInput.select();
document.execCommand('copy');
document.body.removeChild(tempInput);
targetElement.addClass('flash-copy')
.delay('1000').queue(function() {
targetElement.removeClass('flash-copy').dequeue();
});
}
}
function copyApiKey(apiKey) {
var apiKeyField = $('#'+apiKey);
copyToClipboard(apiKey, apiKeyField);
}
function copyApiUrl(urlText) {
var apiUrlField = $('#apiUrl');
copyToClipboard(urlText, apiUrlField);
}
$(function () {
$('[data-bs-toggle="tooltip"]').tooltip({'delay': { show: 500, hide: 0 }, 'placement': 'right'});
});