Update Umsetzung

Tim Herbst 2021-01-23 15:32:03 +00:00
parent 713b35f14e
commit 5fe1954756

@ -558,6 +558,32 @@ Folgender schematischer Ablauf liegt der TableComponent zugrunde:
<img src="uploads/69a7b928dde0ae76403687209136e0d5/image.png"/> <img src="uploads/69a7b928dde0ae76403687209136e0d5/image.png"/>
</div> </div>
Wird in der Tabelle eine Reihe über die Checkbox ausgewählt, so wird folgende Methode aufgerufen:
```typescript
selectRow(selection: MatCheckboxChange, row): void {
let markerToDisplay = [];
this.iterableToSource.forEach(point => {
if (point.stationId === row.stationId) {
this.selectionModel.toggle(point);
}
});
this.iterableFromSource.forEach(point => {
if (point.stationId === row.stationId) {
this.selectionModel.toggle(point);
}
});
this.selectionModel.selected.forEach(point => {
markerToDisplay.push(point);
});
markerToDisplay = this.changePolyLineColorForDuplicateBikePoints(markerToDisplay);
this.map.drawTableStationMarker(markerToDisplay);
}
```
Es wird, egal in welcher Tabelle eine Checkbox gedrückt wird, überprüft ob in der anderen Tabelle auch eine Station mit gleicher ID vorhanden ist. Ist dies der Fall, wird diese auch ausgewählt. Aus dem `SelectionModel` werden alle ausgewählten Stationen gefiltert und an die Map für die Marker Generierung weitergereicht. Davor wird allerdings noch mit `changePolyLineColorForDuplicateBikePoints` geprüft, ob Duplikate in der Liste vorhanden sind. Ist dem so, so wird die Polyline Farbe auf Blau gesetzt um Station, die in beiden Tabellen vorkommen noch einmal extra zu visualisieren.
# Deployment # Deployment
Da es sich um ein Web-Projekt handelt, lag die Idee nahe, es auf einem Server in der Cloud zu deployen. Wir haben uns hierbei für den Anbieter [Hetzner](https://hetzner.cloud) entschieden. Dort läuft ein Ubuntu 20.04 Server mit zwei CPU Kernen und 2 Gigabyte Arbeitsspeicher. Dies ist vollkommen ausreichend für dieses Projekt. In der Serverkonsole kann man CPU, Festplatte und Netzwerk beobachten. Da es sich um ein Web-Projekt handelt, lag die Idee nahe, es auf einem Server in der Cloud zu deployen. Wir haben uns hierbei für den Anbieter [Hetzner](https://hetzner.cloud) entschieden. Dort läuft ein Ubuntu 20.04 Server mit zwei CPU Kernen und 2 Gigabyte Arbeitsspeicher. Dies ist vollkommen ausreichend für dieses Projekt. In der Serverkonsole kann man CPU, Festplatte und Netzwerk beobachten.
<table> <table>