Bootstrapping von Vue-Apps vereinheitlichen
Bislang haben wir mehrere Stellen, die verschiedene Vue-Apps instanziieren. Dieser TIC soll dieses Bootstrappen vereinheitlichen und somit einen generischen Mechanismus bieten, um eine Vue-App in Stud.IP zu instanziieren. Insbesondere soll darauf geachtet werden, dass die verwendeten Komponenten nicht im Haupt-JS landen sondern nach Möglichkeit nach Bedarf geladen werden.
Für den Mechanismus wird eine Klasse Studip\VueApp
in Stud.IP implementiert, welche Methoden bereitstellt, um die verwendeten Komponenten, Properties und einen eventuell zu nutzen Store sowie die zu übergebenden Daten an diesen Store zu übergeben. Eine Instanz dieser Klasse kann dann gerendert werden und erzeugt so das notwendige HTML, welches der Bootstrapping-Mechanismus in Javascript erkennt und daraus dann entsprechend eine Vue-App baut.
In diesem TIC werden die problemlosen Apps auch direkt umgestellt. Der Mechanismus soll allerdings für alle Apps genutzt werden, weshalb die problematischen Apps in separaten TICs zuerst aktualisiert und dann auf diesen Mechanismus umgestellt werden.