mirror of
https://github.com/Stirling-Tools/Stirling-PDF.git
synced 2025-06-18 05:25:04 +00:00
75 lines
2.3 KiB
JavaScript
75 lines
2.3 KiB
JavaScript
![]() |
import { Command } from "./command.js";
|
||
|
|
||
|
export class DeletePageCommand extends Command {
|
||
|
constructor(element, pagesContainer) {
|
||
|
super();
|
||
|
|
||
|
this.element = element;
|
||
|
this.pagesContainer = pagesContainer;
|
||
|
|
||
|
this.filenameInputValue = document.getElementById("filename-input").value;
|
||
|
|
||
|
const filenameParagraph = document.getElementById("filename");
|
||
|
this.filenameParagraphText = filenameParagraph ? filenameParagraph.innerText : "";
|
||
|
}
|
||
|
|
||
|
execute() {
|
||
|
this.nextSibling = this.element.nextSibling;
|
||
|
|
||
|
this.pagesContainer.removeChild(this.element);
|
||
|
if (this.pagesContainer.childElementCount === 0) {
|
||
|
const filenameInput = document.getElementById("filename-input");
|
||
|
const filenameParagraph = document.getElementById("filename");
|
||
|
const downloadBtn = document.getElementById("export-button");
|
||
|
|
||
|
filenameInput.disabled = true;
|
||
|
filenameInput.value = "";
|
||
|
filenameParagraph.innerText = "";
|
||
|
|
||
|
downloadBtn.disabled = true;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
undo() {
|
||
|
let node = this.nextSibling;
|
||
|
if (node) this.pagesContainer.insertBefore(this.element, node);
|
||
|
else this.pagesContainer.appendChild(this.element);
|
||
|
|
||
|
const pageNumberElement = this.element.querySelector(".page-number");
|
||
|
if (pageNumberElement) {
|
||
|
this.element.removeChild(pageNumberElement);
|
||
|
}
|
||
|
|
||
|
const filenameInput = document.getElementById("filename-input");
|
||
|
const filenameParagraph = document.getElementById("filename");
|
||
|
const downloadBtn = document.getElementById("export-button");
|
||
|
|
||
|
filenameInput.disabled = false;
|
||
|
filenameInput.value = this.filenameInputValue;
|
||
|
if (this.filenameParagraph)
|
||
|
filenameParagraph.innerText = this.filenameParagraphText;
|
||
|
|
||
|
downloadBtn.disabled = false;
|
||
|
}
|
||
|
|
||
|
redo() {
|
||
|
const pageNumberElement = this.element.querySelector(".page-number");
|
||
|
if (pageNumberElement) {
|
||
|
this.element.removeChild(pageNumberElement);
|
||
|
}
|
||
|
|
||
|
this.pagesContainer.removeChild(this.element);
|
||
|
if (this.pagesContainer.childElementCount === 0) {
|
||
|
const filenameInput = document.getElementById("filename-input");
|
||
|
const filenameParagraph = document.getElementById("filename");
|
||
|
const downloadBtn = document.getElementById("export-button");
|
||
|
|
||
|
filenameInput.disabled = true;
|
||
|
filenameInput.value = "";
|
||
|
filenameParagraph.innerText = "";
|
||
|
|
||
|
downloadBtn.disabled = true;
|
||
|
}
|
||
|
}
|
||
|
}
|