intranet-apei/styles-scripts/pratiques.js

56 lines
1.8 KiB
JavaScript
Raw Normal View History

2026-03-12 15:26:29 +00:00
const quill = new Quill('#editor-container', {
theme: 'snow',
modules: {
toolbar: {
container: '#toolbar',
handlers: {
image: function() {
const input = document.createElement('input');
input.setAttribute('type', 'file');
input.setAttribute('accept', 'image/*');
input.click();
input.onchange = () => {
const file = input.files[0];
const reader = new FileReader();
reader.onload = (e) => {
const range = quill.getSelection();
quill.insertEmbed(range.index, 'image', e.target.result);
};
reader.readAsDataURL(file);
};
}
}
}
}
});
// Préremplir le contenu de Quill avec les données de la base de données
quill.root.innerHTML = initialContent;
// Sauvegarder le contenu uniquement lorsque le bouton est cliqué
document.getElementById('save-button').addEventListener('click', () => {
const html = quill.root.innerHTML; // Contenu HTML, y compris les images en base64
console.log("Contenu HTML sauvegardé :", html); // Affiche ce que l'on va envoyer au serveur
// Envoi du contenu au serveur uniquement au clic
fetch('save-article.php', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({ content: html }) // Le contenu de l'éditeur Quill
})
.then(response => response.json())
.then(data => {
if (data.success) {
alert("Données sauvegardées !");
window.location.href = "admin.php"; // Redirection après la sauvegarde
} else {
alert("Erreur lors de la sauvegarde.");
}
})
.catch(error => {
console.error('Erreur:', error);
alert("Une erreur s'est produite.");
});
});