From 941e95f19499d3769446281a5fbbc4327c0c846e Mon Sep 17 00:00:00 2001 From: Elmar Kresse <18119527+masterElmar@users.noreply.github.com> Date: Tue, 17 Oct 2023 21:07:15 +0200 Subject: [PATCH] added different pages for editing --- backend/model/icalModel.go | 6 +- frontend/src/api/createFeed.ts | 18 +++ frontend/src/components/AdditionalModules.vue | 1 - frontend/src/components/ModuleSelection.vue | 54 +++---- .../editCalendar/EditAdditionalModules.vue | 145 ++++++++++++++++++ .../components/editCalendar/EditModules.vue | 115 ++++++++++++++ .../components/editCalendar/loadCalender.vue | 38 ----- frontend/src/model/module.ts | 9 ++ frontend/src/router/index.ts | 12 ++ frontend/src/view/editCalendarView.vue | 31 +++- 10 files changed, 354 insertions(+), 75 deletions(-) create mode 100644 frontend/src/components/editCalendar/EditAdditionalModules.vue create mode 100644 frontend/src/components/editCalendar/EditModules.vue delete mode 100644 frontend/src/components/editCalendar/loadCalender.vue diff --git a/backend/model/icalModel.go b/backend/model/icalModel.go index 4cfa1b1..192a528 100644 --- a/backend/model/icalModel.go +++ b/backend/model/icalModel.go @@ -23,7 +23,7 @@ type Entry struct { type Entries []*Entry type FeedCollection struct { - Name string `db:"Name" json:"Name"` - Course string `db:"course" json:"Course"` - UserDefinedName string `db:"userDefinedName" json:"UserDefinedName"` + Name string `db:"Name" json:"name"` + Course string `db:"course" json:"course"` + UserDefinedName string `db:"userDefinedName" json:"userDefinedName"` } diff --git a/frontend/src/api/createFeed.ts b/frontend/src/api/createFeed.ts index 1667331..5c20240 100644 --- a/frontend/src/api/createFeed.ts +++ b/frontend/src/api/createFeed.ts @@ -18,3 +18,21 @@ export async function createIndividualFeed(modules: Module[]): Promise { }); return token; } + +export async function saveIndividualFeed(token: string, modules: Module[]): Promise { + + await fetch("/api/collections/feeds/records/" + token, { + method: "PATCH", + headers: { + "Content-Type": "application/json", + }, + body: "{\"modules\":" + JSON.stringify(modules) + "}", + }) + .then((response) => { + return response.json(); + }) + .then((response) => { + token = response; + }); + return token; +} diff --git a/frontend/src/components/AdditionalModules.vue b/frontend/src/components/AdditionalModules.vue index f1843a7..6894bf6 100644 --- a/frontend/src/components/AdditionalModules.vue +++ b/frontend/src/components/AdditionalModules.vue @@ -38,7 +38,6 @@ const ModuleInformation = defineAsyncComponent( () => import("./ModuleInformation.vue"), ); -//TODO add missing module prop informations for ModuleInformation.vue async function showInfo(moduleName : string) { const module: Ref = ref(new Module("", "", "", "", "", [])); diff --git a/frontend/src/components/ModuleSelection.vue b/frontend/src/components/ModuleSelection.vue index 446df5d..0bfee03 100644 --- a/frontend/src/components/ModuleSelection.vue +++ b/frontend/src/components/ModuleSelection.vue @@ -1,5 +1,5 @@