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
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 alsCascadingValue
an Kindkomponenten durchreicht, wurde in jeder Kindkomponente, welche diesenCascadingParameter
verwendet, die LifecyclemethodeOnParametersSet
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 darstellenCommit, in dem das Problem gefixed wurde:
a303ad5
Private Zenhub Video