Ajout texte à copier

This commit is contained in:
Jean-Philippe Staelen 2025-12-18 14:36:06 +01:00
parent 8d0b591665
commit 9b1a56727f
3 changed files with 49 additions and 19 deletions

View File

@ -51,6 +51,20 @@
background-color: #ffffff;
}
.esi-peppol-webhook-url-display {
flex: 1 1 auto;
display: inline-block;
padding: 6px 10px;
background-color: #f6f7f7;
border: 1px solid #ddd;
border-radius: 4px;
font-family: 'Courier New', Courier, monospace;
font-size: 13px;
line-height: 1.6;
color: #1d2327;
word-break: break-all;
}
#esi-peppol-test-result {
margin-top: 15px;
}

View File

@ -465,20 +465,42 @@
e.preventDefault();
var $target = $($(this).data('target'));
if ($target.length) {
$target.select();
var textToCopy = $target.text() || $target.val() || '';
if (textToCopy) {
// Utiliser l'API Clipboard moderne si disponible
if (navigator.clipboard && navigator.clipboard.writeText) {
navigator.clipboard.writeText(textToCopy).then(function () {
var $btn = $(e.currentTarget);
var originalText = $btn.text();
$btn.text('✓ Copié').prop('disabled', true);
setTimeout(function () {
$btn.text(originalText).prop('disabled', false);
}, 2000);
}).catch(function (err) {
console.error('Erreur lors de la copie:', err);
});
} else {
// Fallback pour les anciens navigateurs
try {
// Créer un élément temporaire pour la copie
var $temp = $('<textarea>');
$('body').append($temp);
$temp.val(textToCopy).select();
document.execCommand('copy');
var $btn = $(this);
$temp.remove();
var $btn = $(e.currentTarget);
var originalText = $btn.text();
$btn.text('✓ Copié').prop('disabled', true);
setTimeout(function () {
$btn.text(originalText).prop('disabled', false);
}, 2000);
} catch (err) {
// Fallback pour les navigateurs qui ne supportent pas execCommand
console.error('Erreur lors de la copie:', err);
}
}
}
}
});
}

View File

@ -129,13 +129,7 @@ if ($logo_email_id) {
$webhook_url = \ESI_PEPPOL\controllers\PEPPOL_Webhook_controller::get_webhook_url();
?>
<div class="esi-peppol-webhook-url-wrapper">
<input type="text"
class="regular-text"
id="esi_peppol_webhook_url"
value="<?php echo esc_attr($webhook_url); ?>"
readonly
onclick="this.select();"
/>
<code id="esi_peppol_webhook_url" class="esi-peppol-webhook-url-display"><?php echo esc_html($webhook_url); ?></code>
<button type="button"
class="button button-small esi-peppol-copy-webhook-url"
data-target="#esi_peppol_webhook_url"