Unendlicher Offset-Scroll-Handling beim Hinzufügen/Aktualisieren von Elementen [geschlossen]JavaScript

Javascript-Forum
Anonymous
 Unendlicher Offset-Scroll-Handling beim Hinzufügen/Aktualisieren von Elementen [geschlossen]

Post by Anonymous »

Ich arbeite an einem persönlichen Projekt, das verschiedene Ausgaben, Abonnements, Darlehen usw. erfasst (allesamt separate Einheiten). Jeder Benutzer hat sein/ihr/sein persönliches Konto und kann nur die ihm zugeordneten Elemente sehen, sodass die Wahrscheinlichkeit gleichzeitiger Bearbeitungen minimal ist.
Ich zeige die Liste der Elemente als unendlich versetzte Bildlaufliste mit manuellem Abruf des nächsten Teils an (nennen wir es eine „Seite“ in Anführungszeichen). Für jede dieser Entitäten besteht die Möglichkeit, dass der Benutzer verschiedene Filter (Datum, Teilzeichenfolge usw.) und Sortierungen darauf anwendet. Einige verfügen über eine voreingestellte komplizierte, nicht einfache Sortierung (z. B. überfällig oder wird in 2 Wochen überfällig sein + Priorität + Zeitstempel) im Backend, falls vom Benutzer keine einfache Sortierung angefordert wird.
Die Frage ist, wie die korrekte Reihenfolge der Elemente in der Benutzeroberfläche beim Hinzufügen oder Bearbeiten vorhandener Elemente beibehalten werden kann. Ich sehe im Allgemeinen zwei Optionen, wenn ich den Benutzer nicht zwingen möchte, zu der „Seite“ zu scrollen, auf der er/sie/sie das Element bearbeitet hat:
  • Stellen Sie POST- und PATCH-Anfragen bereit, um Metadaten der Position des neuen/bearbeiteten Elements innerhalb der aktuellen Sortierung zurückzugeben, und fügen Sie das neue/bearbeitete Element in den Status (ich verwende React) basierend auf diesem Index ein, wenn seine Position auf einer der bereits abgerufenen „Seiten“ liegt.
    Vorteile:
    • ziemlich einfach
    • sehr nah an SSOT, da keine Manipulation am Frontend erfolgt
    • relativ geringer Arbeitsaufwand am Backend
    Nachteile:
    • Die Wahrscheinlichkeit, Elemente auf mehreren Geräten hinzuzufügen oder zu bearbeiten, ist sehr gering, aber nicht Null (die Ausleihen werden auf zwei Geräten gleichzeitig manipuliert, [z. B. wird dasselbe Konto von mehreren Familienmitgliedern verwendet]), und auf diese Weise kann es möglicherweise zu Duplikaten oder falschen Reihenfolgen kommen.
  • Alle geladenen „Seiten“ erneut abrufen.
    Vorteile:
    • sehr unkompliziert
    • keine Duplikate und jederzeit korrekte Reihenfolge
    Nachteile:
    • höhere Arbeitsbelastung im Backend, insbesondere wenn der Benutzer viel nach unten gescrollt hat
    • konzeptionell ineffizient, wenn Positionen der Mehrheit Anzahl der Elemente blieb gleich
Obwohl es fast keine Benutzer gibt, sieht die zweite Option trotz des Mehraufwands besser aus, aber mit der Skalierung hat sie immer mehr Nachteile.
Gibt es eine andere mögliche Option, die ich übersehe?
  • alle geladenen Seiten beibehält
  • zeigt jederzeit die korrekte Reihenfolge an, auch wenn mehrere Geräte die Daten manipulieren

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post