-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathscript.js
77 lines (69 loc) · 3.46 KB
/
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
// Warten, bis das DOM vollständig geladen ist, bevor Funktionen ausgeführt werden
document.addEventListener("DOMContentLoaded", function() {
displayEvents(); // Veranstaltungen anzeigen, sobald die Seite geladen ist
});
// Funktion zum Hinzufügen einer Veranstaltung
function addEvent() {
// Veranstaltungsinformationen aus den Eingabefeldern abrufen
const title = document.getElementById("title").value;
const date = document.getElementById("date").value;
const time = document.getElementById("time").value;
const location = document.getElementById("location").value;
const description = document.getElementById("description").value;
const isPublic = document.getElementById("public").checked;
// Veranstaltung als Objekt erstellen
const event = {
title,
date,
time,
location,
description,
isPublic
};
// Veranstaltungen aus dem LocalStorage abrufen oder ein leeres Array erstellen
let events = localStorage.getItem("events");
events = events ? JSON.parse(events) : [];
// Neue Veranstaltung hinzufügen
events.push(event);
// Veranstaltungen im LocalStorage speichern
localStorage.setItem("events", JSON.stringify(events));
displayEvents(); // Veranstaltungen erneut anzeigen, um die neue Veranstaltung anzuzeigen
}
// Funktion zum Anzeigen aller Veranstaltungen im Kalender
function displayEvents() {
const calendarDiv = document.getElementById("calendar");
calendarDiv.innerHTML = ""; // Kalenderbereich leeren, bevor Veranstaltungen hinzugefügt werden
// Veranstaltungen aus dem LocalStorage abrufen oder ein leeres Array erstellen
let events = localStorage.getItem("events");
events = events ? JSON.parse(events) : [];
// Für jede Veranstaltung ein DIV-Element erstellen und dem Kalenderbereich hinzufügen
events.forEach(event => {
const eventDiv = document.createElement("div");
eventDiv.classList.add("event"); // CSS-Klasse hinzufügen
// HTML für die Veranstaltung erstellen und dem DIV-Element zuweisen
eventDiv.innerHTML = `
<h3>${event.title}</h3>
<p>Date: ${event.date}</p>
<p>Time: ${event.time}</p>
<p>Location: ${event.location}</p>
<p>Description: ${event.description}</p>
<p>${event.isPublic ? "Public Event" : "Private Event"}</p>
<button onclick="deleteEvent('${event.title}')">Delete</button> <!-- Button zum Löschen der Veranstaltung -->
`;
calendarDiv.appendChild(eventDiv); // Veranstaltung dem Kalenderbereich hinzufügen
});
}
// Funktion zum Löschen einer Veranstaltung
function deleteEvent(title) {
// Bestätigungsdialog anzeigen, bevor die Veranstaltung gelöscht wird
if (confirm("Are you sure you want to delete this event?")) {
// Veranstaltungen aus dem LocalStorage abrufen oder ein leeres Array erstellen
let events = localStorage.getItem("events");
events = events ? JSON.parse(events) : [];
// Veranstaltung mit dem angegebenen Titel filtern und aus dem Array entfernen
events = events.filter(event => event.title !== title);
// Geänderte Veranstaltungen im LocalStorage speichern
localStorage.setItem("events", JSON.stringify(events));
displayEvents(); // Veranstaltungen erneut anzeigen, um die gelöschte Veranstaltung zu entfernen
}
}