-
Notifications
You must be signed in to change notification settings - Fork 0
/
script.js
38 lines (32 loc) · 985 Bytes
/
script.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
var undoStack = [];
var redoStack = [];
function formatText(command, value = null) {
document.execCommand(command, false, value);
saveState();
}
function changeFontSize(size) {
document.execCommand('fontSize', false, size);
saveState();
}
function changeFontColor(color) {
document.execCommand('foreColor', false, color);
saveState();
}
function saveState() {
var editorContent = document.getElementById('editor').innerHTML;
undoStack.push(editorContent);
// Clear redo stack whenever a new change is made
redoStack = [];
}
function undo() {
if (undoStack.length > 1) {
redoStack.push(undoStack.pop());
document.getElementById('editor').innerHTML = undoStack[undoStack.length - 1];
}
}
function redo() {
if (redoStack.length > 0) {
undoStack.push(redoStack.pop());
document.getElementById('editor').innerHTML = undoStack[undoStack.length - 1];
}
}