Detail
#26854
Tab löschen einer Tabbar eines Legacy-Tabs wird nicht aufgezeichnet
Das Löschen von Tabs einer Tabbar innerhalb eines "Legacy"-Tabs wird in der Anwendung durch den tl:ScriptingRecorder nicht aufgezeichnet.
Wird in der Anwendung ein neuer Tab erstellt, dann entstehen drei ineinander verschachtelte Layouts:
- tab.template.xml: Um bspw. den Namen des Tabs zu konfigurieren
- contentLayout.template.xml: Um das Layout bspw. die Ausrichtung des Tabinhalts zu konfigurieren
- Der eigentliche Inhalt des Tabs
Das tab.template.xml enthält eine tl:LayoutReference zu einem contentLayout.template.xml, das wiederum eine LayoutReference zum Inhalt des Tabs besitzt.
Ein "Legacy"-Tab ist nicht in drei eigene Layouts unterteilt. Dort befindet sich alles für den Tab in einem einzigen Layout.
Beim Löschen einer Sicht werden die Eltern der gelöschten Sicht ersetzt und neu geladen.
Technisches Demo > Tests ist ein Legacy-Tab. Der Inhalt des Tabs ist eine Tabbar. Löscht der Nutzer ein Tab Technisches Demo > Tests > Foo dieser Tabbar, so werden die Eltern des gelöschten Tabs ersetzt. Da in dem Legacy-Tab Technisches Demo > Tests nur ein einziges Layout existiert, ist der Legacy-Tab der Tab, der ersetzt werden muss. Das führt dazu, dass die Tabbar Technisches Demo das Kind Technisches Demo > Tests ersetzt bekommt. Es wird das Kind ersetzt welches zu dem Zeitpunkt selektiert ist. Dadurch wird die Selektion aktualisiert. Das wird vom ScriptRecorder aufgezeichnet und verhindert, dass die eigentliche Löschaktion aufgenommen wird.
In Technisches Demo > Komponenten ist dies nicht der Fall. Komponenten ist kein Legacy-Tab. Wird ein Tab innerhalb Komponenten`gelöscht wird das `contentLayout.template.xml als Eltern des gelöschten Tabs Technisches Demo > Komponenten > Foo ersetzt und neu geladen. Insbesondere ändern sich die Kinder (z. B. tab.template.xml Layout des Komponenten-Tab) der Tabbar Technisches Demo nicht.
Umsetzung
Aufzeichnung während der Löschen von Sichten pausieren.
Tests
Script-Recorder ausführen und folgende Aktionen aufzeichnen:
- Tab Foo in Technisches Demo > Tests anlegen
- Tab Technisches Demo > Tests > Foo löschen
Die Aufzeichnung abspielen und prüfen, ob das Löschen der Sicht durch den Script-Recorder aufgezeichnet wurde.