Verbesserung
Wichtig
Detail
Fehlerbehebung
Wichtig
Detail
Tabellenspalten werden durch zwei Styles am linken Rand positioniert:
- Positionierung: property: sticky;
- Offset, zum Beispiel: left: 10px;
Wird eine fixierte Spalte von dem Nutzer bspw. per Drag&Drop in den flexiblen Bereich gezogen, wird die Spalte anschließend vom Client falsch positioniert. Für die Zellen der fixierten Spalte, die nun flexibel wird, wird nur die sticky Position entfernt, jedoch nicht der Offset. Das sorgt dafür, dass die Spalte horizontal nicht die gewünschte Positionierung erhält.
In der Anwendung selbst ist es schwer festzustellen, da durch das Verschieben einer Tabellenspalte die neue Spaltenordnung dem Server vom Client mitgeteilt wird. Der Server selbst schreibt dann die Tabelle neu. D. h. das clientseitige Vertauschen von Zellen ist nur für einen Bruchteil der Zeit sichtbar und für den Nutzer kaum erkennbar, da der Server es zügig überschreibt.
Da durch Ticket #27350 der Client direkt seine Darstellung nach Neuordnung der Spalten aktualisiert ist neu. Es ist nicht weiter notwendig, dass der Server die Tabelle aktualisiert. Der Server muss nur das Modell mit der neuen Spaltenordnung übernehmen. Zurzeit ist jedoch diese Logik noch nicht ausgebaut.
Test
In table.js den Inhalt der Funktion updateColumnOrder auskommentieren. Dadurch informiert der Client nicht die neue Spaltenordnung dem Server. Anschließend in einer Tabelle eine Spalte aus dem fixierten in den flexiblen Bereich ziehen. Es darf kein freier Platz entstehen.