From da118cbf0a789044226a43bfa934c074bdb9c3c7 Mon Sep 17 00:00:00 2001 From: SimonGschnell Date: Mon, 19 May 2025 12:53:36 +0200 Subject: [PATCH] refactor(Studium):groups the studienplaene to their studienordnung, sorts the lehrveranstaltungs module and the single lehrveranstaltungen --- public/js/components/Cis/Studium/Studium.js | 54 ++++++++++++++++++++- 1 file changed, 52 insertions(+), 2 deletions(-) diff --git a/public/js/components/Cis/Studium/Studium.js b/public/js/components/Cis/Studium/Studium.js index 30d21ed1b..e2ef65232 100644 --- a/public/js/components/Cis/Studium/Studium.js +++ b/public/js/components/Cis/Studium/Studium.js @@ -163,6 +163,27 @@ export default { this.selectedStudienordnung = studienplan.preselected?.studienplan_id; this.lehrveranstaltungen = lehrveranstaltungen; + this.lehrveranstaltungen.sort((lv1, lv2) => { + if (lv1.bezeichnung.toLowerCase() > lv2.bezeichnung.toLowerCase()) { + return 1; + } else if (lv1.bezeichnung.toLowerCase() < lv2.bezeichnung.toLowerCase()) { + return -1; + } else { + return 0; + } + }); + + this.lehrveranstaltungen.forEach((lehrveranstaltung)=>{ + lehrveranstaltung.lehrveranstaltungen.sort((lv1,lv2)=>{ + if (lv1.bezeichnung.toLowerCase() > lv2.bezeichnung.toLowerCase()) { + return 1; + } else if (lv1.bezeichnung.toLowerCase() < lv2.bezeichnung.toLowerCase()) { + return -1; + } else { + return 0; + } + }) + }) }, studienordnungTitel(studienordnung){ if(!studienordnung) return ""; @@ -192,6 +213,35 @@ export default { const studiengang = this.studiengaenge.find((studiengang) => studiengang.studiengang_kz == this.selectedStudiengang); return `${this.selectedLehrveranstaltung?.bezeichnung} ${this.selectedLehrveranstaltung?.lehrform_kurzbz} / ${studiengang.kurzbzlang}-${this.selectedSemester} ${this.selectedLehrveranstaltung?.orgform_kurzbz} (${this.selectedStudiensemester})`; }, + computedStudienOrdnung(){ + if(!this.studienOrdnung) return null; + return Object.values(this.studienOrdnung).reduce((carry, item)=>{ + if(!carry[item.bezeichnung]){ + carry[item.bezeichnung] = []; + } + carry[item.bezeichnung].push(item); + return carry; + },{}); + }, + computedStudienOrdnungSelectValues() { + if (!this.computedStudienOrdnung) return null; + let result = []; + Object.entries(this.computedStudienOrdnung).forEach(([key,value])=>{ + result.push({ + bezeichnung: `Studienordnung: ${key}`, + disabled: true, + }); + value.forEach((studienplan)=>{ + result.push({ + studienplan:studienplan, + diabled: false, + bezeichnung: `${studienplan?.bezeichnung}-${studienplan?.orgform_kurzbz} ( ${studienplan?.orgform_bezeichnung}, ${studienplan?.sprache} )` + + }); + }) + }); + return result; + }, }, created(){ @@ -275,7 +325,7 @@ export default {