From 0d3aff5a7e19c0b74059a8f4ac2d82c4e9157c0b Mon Sep 17 00:00:00 2001 From: survellow <59056368+survellow@users.noreply.github.com> Date: Mon, 25 Dec 2023 23:56:56 +0100 Subject: [PATCH 1/3] 115 refactor AdditionalModuleTable and add when editing --- .../src/components/AdditionalModuleTable.vue | 200 ++++++++++++++++++ .../editCalendar/EditAdditionalModules.vue | 152 ------------- frontend/src/router/index.ts | 4 +- frontend/src/view/AdditionalModules.vue | 198 +---------------- .../editCalendar/EditAdditionalModules.vue | 34 +++ .../editCalendar/EditModules.vue | 2 +- 6 files changed, 243 insertions(+), 347 deletions(-) create mode 100644 frontend/src/components/AdditionalModuleTable.vue delete mode 100644 frontend/src/components/editCalendar/EditAdditionalModules.vue create mode 100644 frontend/src/view/editCalendar/EditAdditionalModules.vue rename frontend/src/{components => view}/editCalendar/EditModules.vue (98%) diff --git a/frontend/src/components/AdditionalModuleTable.vue b/frontend/src/components/AdditionalModuleTable.vue new file mode 100644 index 0000000..7c0bf0f --- /dev/null +++ b/frontend/src/components/AdditionalModuleTable.vue @@ -0,0 +1,200 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {{ + t('additionalModules.footerModulesSelected', { count: store?.countModules() ?? 0 }) + }} + + + + + + + diff --git a/frontend/src/components/editCalendar/EditAdditionalModules.vue b/frontend/src/components/editCalendar/EditAdditionalModules.vue deleted file mode 100644 index ff155ba..0000000 --- a/frontend/src/components/editCalendar/EditAdditionalModules.vue +++ /dev/null @@ -1,152 +0,0 @@ - - - - - - - {{ $t("additionalModules.subTitle") }} - - - - - - - - - {{ display(slotProps.option) }} - - - - - - - - - - - {{ t('additionalModules.footerModulesSelected', { count: selectedModules.length ?? 0 }) }} - - - - - - {{ - $t("additionalModules.nextStep") - }} - - - - - diff --git a/frontend/src/router/index.ts b/frontend/src/router/index.ts index 3f1ff6f..ec53f46 100644 --- a/frontend/src/router/index.ts +++ b/frontend/src/router/index.ts @@ -8,8 +8,8 @@ const PrivacyPolicy = () => import("../view/PrivacyPolicy.vue"); const RenameModules = () => import("../components/RenameModules.vue"); const RoomFinder = () => import("../view/RoomFinder.vue"); const EditCalendarView = () => import("../view/EditCalendarView.vue"); -const EditAdditionalModules = () => import("../components/editCalendar/EditAdditionalModules.vue"); -const EditModules = () => import("../components/editCalendar/EditModules.vue"); +const EditAdditionalModules = () => import("../view/editCalendar/EditAdditionalModules.vue"); +const EditModules = () => import("../view/editCalendar/EditModules.vue"); const CourseSelection = () => import("../view/CourseSelection.vue"); import i18n from "../i18n"; diff --git a/frontend/src/view/AdditionalModules.vue b/frontend/src/view/AdditionalModules.vue index 79284b3..581dc6d 100644 --- a/frontend/src/view/AdditionalModules.vue +++ b/frontend/src/view/AdditionalModules.vue @@ -1,89 +1,16 @@ @@ -93,100 +20,7 @@ function unselectModule(event: DataTableRowUnselectEvent) { {{ $t("additionalModules.subTitle") }} - - - - - - - - - - - - - - - - - - - - - - - - - - {{ - t('additionalModules.footerModulesSelected', { count: store?.countModules() ?? 0 }) - }} - - - - + - - diff --git a/frontend/src/view/editCalendar/EditAdditionalModules.vue b/frontend/src/view/editCalendar/EditAdditionalModules.vue new file mode 100644 index 0000000..0323e05 --- /dev/null +++ b/frontend/src/view/editCalendar/EditAdditionalModules.vue @@ -0,0 +1,34 @@ + + + + + + + {{ $t("additionalModules.subTitle") }} + + + + + + + + diff --git a/frontend/src/components/editCalendar/EditModules.vue b/frontend/src/view/editCalendar/EditModules.vue similarity index 98% rename from frontend/src/components/editCalendar/EditModules.vue rename to frontend/src/view/editCalendar/EditModules.vue index 6a26b42..8d8c9af 100644 --- a/frontend/src/components/editCalendar/EditModules.vue +++ b/frontend/src/view/editCalendar/EditModules.vue @@ -6,7 +6,7 @@ import { fetchAllModules } from "../../api/fetchCourse.ts"; import {deleteIndividualFeed, saveIndividualFeed} from "../../api/createFeed.ts"; import tokenStore from "../../store/tokenStore"; import router from "../../router"; -import ModuleTemplateDialog from "../ModuleTemplateDialog.vue"; +import ModuleTemplateDialog from "../../components/ModuleTemplateDialog.vue"; import { onlyWhitespace } from "../../helpers/strings.ts"; import { useI18n } from "vue-i18n"; import { useToast } from "primevue/usetoast"; From 0b695e6a787751d4a577c92499327d6e31421c1c Mon Sep 17 00:00:00 2001 From: survellow <59056368+survellow@users.noreply.github.com> Date: Tue, 26 Dec 2023 17:47:15 +0100 Subject: [PATCH 2/3] 115 refactor dynamic page component --- frontend/src/components/ModuleSelection.vue | 2 +- frontend/src/view/CourseSelection.vue | 42 +++++--------- frontend/src/view/DynamicPage.vue | 63 +++++++++++++++++++++ frontend/src/view/RoomFinder.vue | 42 ++++---------- 4 files changed, 90 insertions(+), 59 deletions(-) create mode 100644 frontend/src/view/DynamicPage.vue diff --git a/frontend/src/components/ModuleSelection.vue b/frontend/src/components/ModuleSelection.vue index 44bc02d..d7dfa7f 100644 --- a/frontend/src/components/ModuleSelection.vue +++ b/frontend/src/components/ModuleSelection.vue @@ -47,7 +47,7 @@ function nextStep() { - + - - - - {{ $t("courseSelection.headline") }} - - - - - {{ $t("courseSelection.subTitle") }} - - + - - - + + + + + diff --git a/frontend/src/view/DynamicPage.vue b/frontend/src/view/DynamicPage.vue new file mode 100644 index 0000000..14ce37e --- /dev/null +++ b/frontend/src/view/DynamicPage.vue @@ -0,0 +1,63 @@ + + + + + + + {{ headline }} + + + + + {{ subTitle }} + + + + + + + + + diff --git a/frontend/src/view/RoomFinder.vue b/frontend/src/view/RoomFinder.vue index d6b4b45..5cfe131 100644 --- a/frontend/src/view/RoomFinder.vue +++ b/frontend/src/view/RoomFinder.vue @@ -1,6 +1,7 @@ - - - - {{ $t("roomFinderPage.headline") }} - - - - - {{ $t("roomFinderPage.detail") }} - - + - - + + - - + + From dcb6a90fb678923a633060a007c644d651dc053a Mon Sep 17 00:00:00 2001 From: survellow <59056368+survellow@users.noreply.github.com> Date: Tue, 26 Dec 2023 20:28:57 +0100 Subject: [PATCH 3/3] 115 refactoring dynamic page --- frontend/src/components/ModuleSelection.vue | 12 ----- frontend/src/i18n/translations/de.json | 2 +- frontend/src/i18n/translations/en.json | 2 +- frontend/src/view/CourseSelection.vue | 16 ++++-- frontend/src/view/DynamicPage.vue | 28 ++++++++-- frontend/src/view/EditCalendarView.vue | 58 +++++++++------------ 6 files changed, 62 insertions(+), 56 deletions(-) diff --git a/frontend/src/components/ModuleSelection.vue b/frontend/src/components/ModuleSelection.vue index d7dfa7f..28c01e8 100644 --- a/frontend/src/components/ModuleSelection.vue +++ b/frontend/src/components/ModuleSelection.vue @@ -2,7 +2,6 @@ import { computed, ComputedRef, PropType } from "vue"; import { Module } from "../model/module.ts"; import moduleStore from "../store/moduleStore"; -import router from "../router"; const store = moduleStore(); const props = defineProps({ @@ -40,21 +39,10 @@ function toggleModule(module: Module) { store.addModule(module); } } - -function nextStep() { - router.push("/additional-modules"); -} - { @@ -58,12 +62,18 @@ async function getModules() { :headline="$t('courseSelection.headline')" :subTitle="$t('courseSelection.subTitle')" icon="pi pi-calendar" + :button="{ + label: $t('courseSelection.nextStep'), + icon: 'pi pi-arrow-right', + disabled: store.isEmpty(), + onClick: () => router.push('/additional-modules') + }" > - + void + } }>() const slots = useSlots() @@ -43,9 +49,21 @@ const hasContent = computed(() => { > + + + = ref(""); const modules: Ref> = ref(moduleStore().modules); -function extractToken(token: string): string { - const tokenRegex = /^[a-z0-9]{15}$/; - const tokenUriRegex = /[?&]token=([a-z0-9]{15})(?:&|$)/; +const tokenRegex = /^[a-z0-9]{15}$/; +const tokenUriRegex = /[?&]token=([a-z0-9]{15})(?:&|$)/; +const isToken = (token: string): boolean => { + return tokenRegex.test(token) || tokenUriRegex.test(token); +}; + +function extractToken(token: string): string { if (tokenRegex.test(token)) { return token; } @@ -66,43 +71,28 @@ function loadCalendar(): void { - - - - {{ $t("editCalendarView.headline") }} - - - - - {{ $t("editCalendarView.subTitle") }} - - + + - - - - - + +
- {{ display(slotProps.option) }} -
{{ $t("editCalendarView.subTitle") }}