Fix // Mensa // Nutzen der vom Kollektor vorgegebenen Sortierung
Zusammenfassung
Im apiReducer für die Mensen wird ein JS-Object mit numerischen Keys gebaut, die von der ID der Mensa abgeleitet sind. Dadurch werden die Mensen anhand der Keys neu sortiert. Beim TUC-Kollektor werden IDs bereits als integer ausgegeben und die Sortiertung bleibt erhalten. Der HTWK-Kollektor gibt eine alphanumerische Uuid aus, die vom Asist-Server in Integer umgewandelt wird. Dabei wird jedoch die Sortierung verändert.
Dies ist auch eine Restriktion, die für neue Kollektoren eine Implementation eines Work-Around erfordert und sollte aus diesem Grund entfernt werden.
Betroffene Version(en)
- App-Version: 1.0.28
Was ist das aktuelle Fehlverhalten?
Die Sortierung die vom Kollektor vorgegben ist, geht verloren
Was ist das erwartete aktuelle Verhalten?
Die Sortierung der Mensen durch dne Kollektor bleibt erhalten.
Mögliche Lösungen
- Im apiReducer, wird ein Map-Object anstelle des Json verwendet.
- reducer-Function in
packages/libraries/core/redux/reducers/api.js
ll. 82 ff
.reduce((canteensMapObject, apiCanteen) => {
canteensMapObject[apiCanteen.id] = apiCanteen;
return canteensMapObject;
}, {})
- Der OA-Server gibt den
orderIndex
des Kollektors weiter. Wenn in der App (Reducer) einorderIndex
vorliegt wird danach sortiert, ansonsten wie gehabt nachid
(indirekte Sortierung durch integer object keys)