Skip to content

Components

Lena Höding edited this page Sep 7, 2022 · 25 revisions

Was sind Komponenten/Components in Vue.js/in diesem Projekt?

Die hier beschriebenen Komonenten sind Single-File Components (SFC) von Vue: A SFC is a special file format that allows us to encapsulate the template, logic, and styling of a Vue component in a single file. Hier werden die Dateien mit der Endung *.vue dokumentiert.

Allgemein sind Komponenten schlecht definiert. Der Begriff wird oft und unterschiedlich verwendet. Dieses Problem wurde im Team diskutiert (Päsentation) und beschlossen mit der obrigen Definition zu arbeiten.

Im Ordner src/views/

Browsing.vue

Übergeordnete Component für die Browsing Feature. Verlinkt die Unterpunkte Search, NavGraph, Filter und Report.

Dokumentieren.vue

Übergeordnete Component für das Dokumentieren Feature.

Filter.vue

Component im Browsing, um Module zu suchen und zu finden. Es gibt verschiedene Filter (Fachbereiche, Studiengang, Modultyp, Lehrperson, Lehrsprache, Kompetenzziele, Kompetenzstufe) und ein Suchfeld zur Auswahl. Die Module, welche den ausgewählten Kriterien entsprechen, werden mit Modultitel (Link zur Detailseite Modul.vue), Studiengang, Fachbereich und Lehrperson angezeigt.

Imports: axios, jspdf-autotable, BrowsingHeader, Pagination

Modul.vue

Component im Browsing/Detailseite. Mit dynamic routing wird der Code des Moduls (z.B. WM220) übergeben und Informationen dazu per SPARQL-query abgefragt. Bei einem ungültigen Code wird zu NotFound.vue weitergeleitet. Im oberen Bereich werden Name, Studiengänge und Fachbereich angezeigt. Der untere Bereich zeigt per nested routing eine der fünf Subpages (Overview.vue, ModuleBase.vue, ModuleLiterature.vue, ModuleMethod.vue, ModuleOutcome.vue). Es wird mit dem Überblick (Overview.vue) begonnen, der eine Vorschau auf die einige Informationen und Inhalte der anderen Subpages bietet.

Imports: axios, BrowsingHeader

Navigation.vue

Diese Component steuert das Routing zu den wesentlichen Features des MVPs. (Alter Header ist noch enthalten).

Starter.vue

Übergeordnete Component für das gesamte Editing feature. Aktuell beinhaltet die Component noch den alten Header. In der Component werden die Rollen festgelegt. (Studiengangsleitung und Lehrende) Das herunterladbare PDF für die Ausgabe der Modulinformationen wird in der Component erstellt.

Imports: Select, SVGGraph, Axios, jsPDF, FormBasicData, FormMethods, FormOutcomes, FormLiterature, FormTeachers, FormDynamic, NewModulePopUp, selectQueries

queries.js

Beinhaltet zentralisiert die wesentlichen SPARQL Queries der Anwendung. Weitere Queries innerhalb der Components im ../components Ordner. (Organisation der Queries bestimmen - Zentral in der queries.js oder in den Components/Features.)

Erstellte aber noch ungenutzte Components

NavGraph.vue, Report.vue, Search.vue

Im Ordner src/views/Browsing

ModuleBase.vue

Subpage der Detailseite Modulbeschreibung, wo Informationen zu den Rahmendaten mit einer entsprechenden query abgefragt und angezeigt werden. Die Fachbereiche Wirtschaft und Informatik werden mit unterschiedlichen Punkten angezeigt.

Imports: Axios

ModuleLiterature.vue

Subpage der Detailseite Modulbeschreibung, wo provisorisch einige Daten zur bisher eingelesenen Literatur angezeigt werden. Anfangs werden nur die Titel der Literatureinträge angezeigt. Bei einem Klick darauf öffnet sich das Accordion und zeigt die bekannten Informationen an. Dazu wird vue-simple-accordion nur lokal in dieser Komponente importiert. Wenn die Accordions in weiteren Komponenten eingesetzt werden, sollte zu einem globalen Import abgeändert werden, um Redundanz zu verhindern.

Imports: Axios, vue-simple-accordion

ModuleMethod.vue

Subpage der Detailseite Modulbeschreibung, wo Informationen zur Methodik mit einer entsprechenden query abgefragt und präsentiert werden.

Imports: Axios

ModuleOutcome.vue

Subpage der Detailseite Modulbeschreibung, wo Informationen zur Didaktik mit einer entsprechenden query abgefragt und angezeigt werden.

Imports: Axios

ModuleOverview.vue

Standart-Subpage der Detailseite Modulbeschreibung, wo eine Vorschau auf einige Informationen und ein Überblick zu den anderen Subpages gegeben wird.

Imports: Axios

NotFound.vue

Component, wohin bei fehlerhaften Routen weitergeleitet wird.

Imports: BrowsingHeader.vue

Im Ordner src/views/components

AutorSelectionPopUp.vue

Die Componente steuert das Modal zur Auswahl von Autoren für das Literaturmodul.

Keine Imports.

BrowsingHeader.vue

Header für eine einheitliche Darstellung der gesamten Anwendung. Component wird in die Starter.vue hineingeladen.

Keine Imports.

FormBasicData.vue

Übergeordnetes Formular zum Updaten von Modulinformationen (Rahmendaten) Sicht über Oberknoten Modul. Hier wird die Rolle abgefangen und je nach Rolle die Formularfelder des Übergeordneten Knotenpunktes eingeblendet. Je nach Rolle werden einzelne Formularfelder disabled, wenn die Studiengangsleitung nicht ausgewählt wurde.

TODO: Queries Dokumentieren (UPDATE Query und SELECT Query)

Imports Axios, jsPDF, loadsh

FormLiterature.vue

Übergeordente Component für das Literatur Feature. Fasst die Components DOI, ISBN und Manual zusammen. Sammelt die Daten je nach Abfrage (DOI, ISBN) und fügt die Literatur dem Modul hinzu. Sehr viel Datenmodellierung. Sollte auch weiterhin Dokumentiert werden.

Imports FormLiteratureDOI, FormLiteratureISBN, FormLiteratureManual, Sortable, Axios

FormLiteratureDOI.vue

Bestandteil von FormLiterature.vue. Spricht die DOI API an und gibt eine Ausgabe zur angefragten DOI

FormLiteratureISBN.vue

Bestandteil von FormLiterature.vue. Spricht die DOI API an und gibt eine Ausgabe zur angefragten ISBN

FormLiteratureManual.vue

Manuelles hinzufügen einer Literatur Quelle für das Modul. Umfasst die Datenfelder für die individuellen Informationen.

FormMethods.vue

Dynamische Formularfelder des Knotenpunktes der Methodik. Steuert die Lehr und Lernmethoden eines Moduls und den Gesamtworkload. Es können mehrere Methoden und Workloads hinzugefügt werden.

Imports Axios

FormOutcomes.vue

Hier werden die Formularfelder der Didaktik gepflegt. Es können mehrere Lernegebnisse, Inhaltselemente und Prüfungsleistungen hinzugefügt werden.

Imports Axios

FormTeachers.vue

Leere Component

NewModulePopUp.vue

Formular und Update für ein neues Modul, welches für ein Studiengang angelegt werden soll.

Select.vue

Die Select.vue steuert die Studiengangs- und daran gekoppelten Modulauswahl. Module können nur im Nachgang an der Studiengangsauswahl ausgewählt werden.

TODO: Post Query dokumentieren.

SVGGraph.vue

Erweiterung der SVGGraphTHB.vue Component. Wurde commitet um die Literaturfunktion über den Graphen anzusteuern und zu highlighten. ../../assets/THBgraphMod.svg

Script wird im ../public index.html über <script src="https://d3js.org/d3.v5.min.js"></script> ausgeführt.

SVGGraphTHB.vue

SVG handler Component. In der Component wird durch die d3 Library die SVG (../../assets/THBgraphMod.svg) dynamisch entwickelt. Highlighting und Routing an Formularfelder Einstellungen im Rahmen des Editings.

Script wird im ../public index.html über <script src="https://d3js.org/d3.v5.min.js"></script> ausgeführt.