Ajout de tooltips aux boutons de copie
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
<script>
|
||||
import { beforeUpdate, afterUpdate, createEventDispatcher} from 'svelte';
|
||||
import { copyToClipboard } from './lib/clipboard.js';
|
||||
import {Tooltip} from 'bootstrap';
|
||||
|
||||
export let message;
|
||||
export let container;
|
||||
@@ -43,7 +44,17 @@
|
||||
// Trouvez le bon élément parent pour accéder au texte à copier
|
||||
const copyButton = isCopyButton ? target : target.parentNode;
|
||||
codeToCopy = copyButton.parentNode.nextElementSibling.innerText;
|
||||
copyToClipboard(codeToCopy);
|
||||
copyToClipboard(codeToCopy).then(() => {
|
||||
|
||||
let tooltip = new Tooltip(copyButton);
|
||||
tooltip.setContent({ '.tooltip-inner': 'Code copié!' });
|
||||
tooltip.show();
|
||||
|
||||
// Destroy tooltip after 2 seconds
|
||||
setTimeout(() => {
|
||||
tooltip.dispose();
|
||||
}, 2000);
|
||||
});
|
||||
|
||||
event.stopPropagation();
|
||||
}
|
||||
@@ -75,10 +86,23 @@
|
||||
break;
|
||||
}
|
||||
}
|
||||
function handleCopy() {
|
||||
function handleCopy(event) {
|
||||
|
||||
const btn = event.currentTarget;
|
||||
event.stopPropagation();
|
||||
|
||||
copyToClipboard(message.content)
|
||||
.then(() => alert('Text copied successfully!'))
|
||||
.catch(err => alert(`Failed to copy text: ${err.message}`));
|
||||
.then(() => {
|
||||
let tooltip = new Tooltip(btn);
|
||||
tooltip.setContent({ '.tooltip-inner': 'Message copié!' });
|
||||
tooltip.show();
|
||||
|
||||
// Destroy tooltip after 2 seconds
|
||||
setTimeout(() => {
|
||||
tooltip.dispose();
|
||||
}, 2000);
|
||||
})
|
||||
.catch(err => console.log(`Failed to copy clipboard: ${err.message}`));
|
||||
}
|
||||
</script>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user