mirror of
https://gitlab.dit.htwk-leipzig.de/htwk-software/htwkalender.git
synced 2025-08-10 13:43:49 +02:00
Merge branch 'main' into 15-calendar-preview
# Conflicts: # frontend/src/view/AdditionalModules.vue # frontend/src/view/EditCalendarView.vue
This commit is contained in:
@@ -7,8 +7,10 @@ import { FilterMatchMode } from "primevue/api";
|
||||
import { useDialog } from "primevue/usedialog";
|
||||
import router from "../router";
|
||||
import { fetchModule } from "../api/fetchModule.ts";
|
||||
import { useI18n } from "vue-i18n";
|
||||
|
||||
const dialog = useDialog();
|
||||
const { t } = useI18n({ useScope: "global" });
|
||||
|
||||
const fetchedModules = async () => {
|
||||
return await fetchAllModules();
|
||||
@@ -111,11 +113,19 @@ function selectChange(event : MultiSelectChangeEvent) {
|
||||
}
|
||||
|
||||
function itemsLabel(selectedModules: Module[]): string {
|
||||
return (selectedModules ? selectedModules.length : 0) != 1 ? t("additionalModules.modules") : t("additionalModules.module");
|
||||
return (selectedModules ? selectedModules.length : 0) != 1
|
||||
? t("additionalModules.modules")
|
||||
: t("additionalModules.module");
|
||||
}
|
||||
|
||||
function itemsLabelWithNumber(selectedModules: Module[]): string {
|
||||
return selectedModules.length.toString() + " " + itemsLabel(selectedModules) + " " + t("additionalModules.dropDownFooterSelected");
|
||||
return (
|
||||
selectedModules.length.toString() +
|
||||
" " +
|
||||
itemsLabel(selectedModules) +
|
||||
" " +
|
||||
t("additionalModules.dropDownFooterSelected")
|
||||
);
|
||||
}
|
||||
*/
|
||||
</script>
|
||||
@@ -228,11 +238,11 @@ function itemsLabelWithNumber(selectedModules: Module[]): string {
|
||||
:placeholder="$t('additionalModules.dropDown')"
|
||||
:auto-filter-focus="true"
|
||||
:show-toggle-all="false"
|
||||
:selected-items-label="itemsLabelWithNumber(selectedModules)"
|
||||
@change="selectChange()"
|
||||
placeholder="Select additional modules"
|
||||
@change="selectChange($event)"
|
||||
@selectall-change="onSelectAllChange($event)"
|
||||
:selectedItemsLabel="itemsLabelWithNumber(selectedModules)"
|
||||
>
|
||||
<template #option="slotProps">
|
||||
<div class="flex justify-content-between w-full">
|
||||
@@ -243,6 +253,7 @@ function itemsLabelWithNumber(selectedModules: Module[]): string {
|
||||
</div>
|
||||
<div class="flex align-items-center justify-content-center ml-2">
|
||||
<Button
|
||||
class="small-button"
|
||||
icon="pi pi-info"
|
||||
severity="secondary"
|
||||
rounded
|
||||
@@ -258,8 +269,10 @@ function itemsLabelWithNumber(selectedModules: Module[]): string {
|
||||
<template #footer>
|
||||
<div class="py-2 px-3">
|
||||
<b>{{ selectedModules ? selectedModules.length : 0 }}</b>
|
||||
{{ itemsLabel(selectedModules) }}
|
||||
{{ $t("additionalModules.dropDownFooterSelected") }}
|
||||
item{{
|
||||
(selectedModules ? selectedModules.length : 0) > 1 ? "s" : ""
|
||||
}}
|
||||
selected.
|
||||
</div>
|
||||
</template>
|
||||
</MultiSelect>
|
||||
@@ -280,4 +293,10 @@ function itemsLabelWithNumber(selectedModules: Module[]): string {
|
||||
:deep(.custom-multiselect li) {
|
||||
height: unset;
|
||||
}
|
||||
|
||||
.small-button.p-button {
|
||||
width: 2rem;
|
||||
height: 2rem;
|
||||
padding: 0;
|
||||
}
|
||||
</style>
|
||||
|
@@ -46,14 +46,22 @@ function loadCalendar(): void {
|
||||
moduleStore().removeAllModules();
|
||||
tokenStore().setToken(token.value);
|
||||
|
||||
getCalender(token.value).then((data) => {
|
||||
data.forEach((module) => {
|
||||
moduleStore().addModule(module);
|
||||
});
|
||||
modules.value = moduleStore().modules;
|
||||
getCalender(token.value).then((data: Module[]) => {
|
||||
if (data.length > 0) {
|
||||
data.forEach((module) => {
|
||||
moduleStore().addModule(module);
|
||||
});
|
||||
modules.value = moduleStore().modules;
|
||||
router.push("/edit-additional-modules");
|
||||
} else {
|
||||
toast.add({
|
||||
severity: "error",
|
||||
summary: t("editCalendarView.error"),
|
||||
detail: t("editCalendarView.noCalendarFound"),
|
||||
life: 3000,
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
router.push("/edit-additional-modules");
|
||||
}
|
||||
</script>
|
||||
|
||||
|
Reference in New Issue
Block a user