delete button and function implemented, help page

This commit is contained in:
santa
2026-01-10 14:22:27 +01:00
parent ed5a86dce0
commit 12f99e9f2b
4 changed files with 120 additions and 71 deletions
+45 -7
View File
@@ -1,5 +1,6 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="de"> <html lang="de">
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
@@ -38,7 +39,9 @@
color: #555; color: #555;
} }
input[type="text"], textarea, select { input[type="text"],
textarea,
select {
width: 100%; width: 100%;
padding: 10px; padding: 10px;
margin-top: 5px; margin-top: 5px;
@@ -81,6 +84,7 @@
.buttons { .buttons {
flex-direction: column; flex-direction: column;
} }
.buttons button { .buttons button {
width: 100%; width: 100%;
margin-top: 10px; margin-top: 10px;
@@ -94,6 +98,7 @@
} }
</style> </style>
</head> </head>
<body> <body>
<div class="container"> <div class="container">
<h1>Manage document types</h1> <h1>Manage document types</h1>
@@ -116,6 +121,7 @@
<a href="index.html"> <a href="index.html">
<button id="goBackBtn">Abbrechen</button> <button id="goBackBtn">Abbrechen</button>
</a> </a>
<button id="deleteBtn">Dokument löschen</button>
<button id="generateBtn">Dokument speichern</button> <button id="generateBtn">Dokument speichern</button>
</div> </div>
@@ -126,18 +132,13 @@
<script> <script>
const goBackBtn = document.getElementById("goBackBtn"); const goBackBtn = document.getElementById("goBackBtn");
const generateBtn = document.getElementById("generateBtn"); const generateBtn = document.getElementById("generateBtn");
const deleteBtn = document.getElementById("deleteBtn");
const existingDocs = document.getElementById("existingDocs"); const existingDocs = document.getElementById("existingDocs");
const docNameInput = document.getElementById("docName"); const docNameInput = document.getElementById("docName");
const promptInput = document.getElementById("prompt"); const promptInput = document.getElementById("prompt");
const resultDiv = document.getElementById("result"); const resultDiv = document.getElementById("result");
const exampleText = ""; const exampleText = "";
// Zurück zur Haupt-GUI
goBackBtn.addEventListener("click", () => {
window.electronAPI.goBackToMain();
});
// dokumente speichern // dokumente speichern
generateBtn.addEventListener("click", () => { generateBtn.addEventListener("click", () => {
const name = docNameInput.value.trim(); const name = docNameInput.value.trim();
@@ -158,6 +159,41 @@
}); });
// dokumente löschen
deleteBtn.addEventListener("click", () => {
const name = docNameInput.value.trim();
if (!name) {
resultDiv.textContent = "Bitte Dokumentname angeben.";
setTimeout(() => {
resultDiv.textContent = "";
}, 3000);
return;
}
const confirmDelete = confirm(
`Möchtest du das Dokument "${name}" wirklich löschen?`
);
if (!confirmDelete) return;
window.api.deleteTxtFile(name).then((success) => {
if (success) {
resultDiv.textContent = "Dokument erfolgreich gelöscht!";
reloadDocuments();
existingDocs.value = "newDoc";
existingDocs.dispatchEvent(new Event("change"));
} else {
resultDiv.textContent = "Dokument konnte nicht gelöscht werden.";
}
setTimeout(() => {
resultDiv.textContent = "";
}, 3000);
});
});
//function to load existingDoc options to the drop down list //function to load existingDoc options to the drop down list
const select = document.getElementById('existingDocs'); const select = document.getElementById('existingDocs');
@@ -198,6 +234,7 @@
.replace(/_/g, ' ') // Leerzeichen ersetzen .replace(/_/g, ' ') // Leerzeichen ersetzen
.replace(/\b\w/g, c => c.toUpperCase()) // ersten Buchstaben groß .replace(/\b\w/g, c => c.toUpperCase()) // ersten Buchstaben groß
existingDocs.appendChild(option); existingDocs.appendChild(option);
//customDocumentTypes.appendChild(option);
}); });
}); });
@@ -207,4 +244,5 @@
<script src="./renderer.js"></script> <script src="./renderer.js"></script>
</body> </body>
</html> </html>
+2 -3
View File
@@ -20,7 +20,7 @@
<nav class="menu1"> <nav class="menu1">
<a href="custom_document.html" class="li1">Manage document types</a> <a href="custom_document.html" class="li1">Manage document types</a>
<a href="" class="li1">Help</a> <a href="help_page.html" class="li1">Help</a>
</nav> </nav>
</nav> </nav>
</section> </section>
@@ -105,8 +105,7 @@
</div> </div>
<div class="checkbox-container"> <div class="checkbox-container">
<input type="checkbox" name="docFormat" id="docFormatCustom" value="custom"> <input type="checkbox" name="docFormat" id="docFormatCustom" value="custom">
<select name="ai_type" id="ai_type"> <select name="customDocumentTypes" id="customDocumentTypes">
<option>nichts</option>
</select> </select>
</div> </div>
</div> </div>
+3 -4
View File
@@ -30,16 +30,15 @@ try {
file_download: () => { ipcRenderer.send("file_download") } file_download: () => { ipcRenderer.send("file_download") }
}) })
//documenttypes //documenttypes
contextBridge.exposeInMainWorld('api', { contextBridge.exposeInMainWorld('api', {
getTxtFiles: () => ipcRenderer.invoke('get-txt-files'), getTxtFiles: () => ipcRenderer.invoke('get-txt-files'),
saveTxtFile: (name, content) => saveTxtFile: (name, content) =>
ipcRenderer.invoke('save-txt-file', name, content), ipcRenderer.invoke('save-txt-file', name, content),
readTxtFile: (fileName) => readTxtFile: (fileName) =>
ipcRenderer.invoke('read-txt-file', fileName) ipcRenderer.invoke('read-txt-file', fileName),
deleteTxtFile: (fileName) =>
ipcRenderer.invoke('delete-txt-file', fileName)
}); });
+14 -1
View File
@@ -281,8 +281,21 @@ electron.ipcMain.handle('save-txt-file', (event, fileName, content) => {
return true; return true;
}); });
// //read file content
electron.ipcMain.handle('read-txt-file', (event, fileName) => { electron.ipcMain.handle('read-txt-file', (event, fileName) => {
const filePath = `${mainDir}/storage/documentType/${fileName}`; const filePath = `${mainDir}/storage/documentType/${fileName}`;
return fs.readFileSync(filePath, 'utf8'); return fs.readFileSync(filePath, 'utf8');
}); });
//delete documentfiles
electron.ipcMain.handle('delete-txt-file', (event, fileName) => {
const filePath = `${mainDir}/storage/documentType/${fileName}.txt`;
if (fs.existsSync(filePath)) {
fs.unlinkSync(filePath);
return true;
} else {
return false;
}
});