ProjektAdLer / Autorentool

Apache License 2.0
6 stars 2 forks source link

[Bug] Eingabecursor springt bei Eingaben #505

Closed splican closed 2 months ago

splican commented 3 months ago

Beschreibung des Problems:

Bei der Eingabe von Text in die Textboxen oder der Suchzeile des Externen Lernmaterials oder Klick auf eine andere 3D-Darstellung im Auswahlraster springt der Cursor automatisch in das Feld Name. Dies passiert nur im "bearbeiten" Modus eines bereits vorhandenen Lernelements, Adaptivitätselements, Storyelements und Lernraums.

Schritte zum Reproduzieren:

Eines der vorgenannten Elemente erstellen. Im Raum oder im unplatzierte Elemente Bereich anklicken und versuchen zu bearbeiten.

Erwartetes Verhalten:

Cursor bleibt in den Feldern, die ich bearbeiten möchte.

Tatsächliches Verhalten:

Cursor springt und macht damit das Bearbeiten der gewünschten Informationen unmöglich.

Ansprechpartner:

Daniel Glaab

Ursache (erst bei Fix angeben):

Nach jeder Änderung in einer der Elementdialoge wurde im MasterLayout StateHasChanged aufgerufen und somit ein Rerender der Komponente forciert. Da diese aber sich selbst als CascadingValue an Kindkomponenten durchreicht, wurde in jeder Kindkomponente, welche diesen CascadingParameter verwendet, die Lifecyclemethode OnParametersSet aufgerufen, in welcher widerrum der Eingabecursor das erste Feld fokussiert.

Lösung (erst bei Fix angeben):

Bei Update der Elemente nicht das gesamte MasterLayout updaten, sondern nur die DragDropLearningElement Komponenten, die dieses Element darstellen

Commit, in dem das Problem gefixed wurde:

a303ad5

Private Zenhub Video