Please check if this code is correct for a client-side Node.js document editor. Please fix if there are any errors const url = "http://localhost:3000/POST"; let undoStack = []; let redoStack = []; function formatText(command) { document.execCommand(command, false, null); } function changeColor() { const color = prompt("Enter text color code:"); document.execCommand("foreColor", false, color); } function changeFont() { const font = prompt("Enter font:"); document.execCommand("fontName", false, font); } function changeFontSize() { const size = prompt("Enter font size:"); document.execCommand("fontSize", false, size); } function toUpperCase() { const selectedText = window.getSelection().toString(); document.execCommand("insertText", false, selectedText.toUpperCase()); } function toLowerCase() { const selectedText = window.getSelection().toString(); document.execCommand("insertText", false, selectedText.toLowerCase()); } function increaseImageSize() { const selectedImage = document.querySelector('img.resizable'); if (selectedImage) { const currentWidth = selectedImage.width; selectedImage.style.width = (currentWidth * 1.2) + 'px'; } } function printDocument() { const buttons = document.querySelectorAll("button"); buttons.forEach(button => { button.style.display = "none"; }); const editorContent = document.getElementById("editor").innerHTML; const printWindow = window.open("", "", "width=600,height=600"); printWindow.document.write("<html><head><title>Print</title><style>@media print { button { display: none; } }</style></head><body>"); printWindow.document.write(editorContent); printWindow.document.write("</body></html>"); printWindow.document.close(); printWindow.print(); buttons.forEach(button => { button.style.display = ""; }); } function undo() { if (undoStack.length > 0) { redoStack.push(document.getElementById("editor").innerHTML); document.getElementById("editor").innerHTML = undoStack.pop(); } } function redo() { if (redoStack.length > 0) { undoStack.push(document.getElementById("editor").innerHTML); document.getElementById("editor").innerHTML = redoStack.pop(); } } function textAlign(align) { document.execCommand('justify' + align); } function toggleSettings() { const settingsBar = document.getElementById("settingsBar"); settingsBar.style.right = settingsBar.style.right === "0px" ? "-290px" : "0px"; } function toggleMode() { document.body.classList.toggle("light-mode"); document.body.classList.toggle("dark-mode"); } document.addEventListener("DOMContentLoaded", function() { const settingsIcon = document.getElementById("settingsIcon"); if (settingsIcon) { settingsIcon.addEventListener("click", function() { toggleSettings(); }); } else { console.error("Settings icon not found."); } }); document.addEventListener("DOMContentLoaded", function() { const popupBox = document.getElementById("popupBox"); const closePopup = document.getElementById("closePopup"); if (popupBox && closePopup) { popupBox.style.display = "block"; closePopup.addEventListener("click", function() { popupBox.style.display = "none"; }); } else { console.error("Popup elements not found."); } });
Please check if this code is correct for a client-side Node.js document editor. Please fix if there are any errors
const url = "http://localhost:3000/POST";
let undoStack = [];
let redoStack = [];
function formatText(command) {
document.execCommand(command, false, null);
}
function changeColor() {
const color = prompt("Enter text color code:");
document.execCommand("foreColor", false, color);
}
function changeFont() {
const font = prompt("Enter font:");
document.execCommand("fontName", false, font);
}
function changeFontSize() {
const size = prompt("Enter font size:");
document.execCommand("fontSize", false, size);
}
function toUpperCase() {
const selectedText = window.getSelection().toString();
document.execCommand("insertText", false, selectedText.toUpperCase());
}
function toLowerCase() {
const selectedText = window.getSelection().toString();
document.execCommand("insertText", false, selectedText.toLowerCase());
}
function increaseImageSize() {
const selectedImage = document.querySelector('img.resizable');
if (selectedImage) {
const currentWidth = selectedImage.width;
selectedImage.style.width = (currentWidth * 1.2) + 'px';
}
}
function printDocument() {
const buttons = document.querySelectorAll("button");
buttons.forEach(button => {
button.style.display = "none";
});
const editorContent = document.getElementById("editor").innerHTML;
const printWindow = window.open("", "", "width=600,height=600");
printWindow.document.write("<html><head><title>Print</title><style>@media print { button { display: none; } }</style></head><body>");
printWindow.document.write(editorContent);
printWindow.document.write("</body></html>");
printWindow.document.close();
printWindow.print();
buttons.forEach(button => {
button.style.display = "";
});
}
function undo() {
if (undoStack.length > 0) {
redoStack.push(document.getElementById("editor").innerHTML);
document.getElementById("editor").innerHTML = undoStack.pop();
}
}
function redo() {
if (redoStack.length > 0) {
undoStack.push(document.getElementById("editor").innerHTML);
document.getElementById("editor").innerHTML = redoStack.pop();
}
}
function textAlign(align) {
document.execCommand('justify' + align);
}
function toggleSettings() {
const settingsBar = document.getElementById("settingsBar");
settingsBar.style.right = settingsBar.style.right === "0px" ? "-290px" : "0px";
}
function toggleMode() {
document.body.classList.toggle("light-mode");
document.body.classList.toggle("dark-mode");
}
document.addEventListener("DOMContentLoaded", function() {
const settingsIcon = document.getElementById("settingsIcon");
if (settingsIcon) {
settingsIcon.addEventListener("click", function() {
toggleSettings();
});
} else {
console.error("Settings icon not found.");
}
});
document.addEventListener("DOMContentLoaded", function() {
const popupBox = document.getElementById("popupBox");
const closePopup = document.getElementById("closePopup");
if (popupBox && closePopup) {
popupBox.style.display = "block";
closePopup.addEventListener("click", function() {
popupBox.style.display = "none";
});
} else {
console.error("Popup elements not found.");
}
});
Step by step
Solved in 2 steps