major
minor
major
minor
Deleting tabs from a tab bar within a "legacy" tab is not recorded by the tl:ScriptingRecorder in the application.
When a new tab is created in the application, three nested layouts are generated:
- tab.template.xml: To configure, for example, the name of the tab
- contentLayout.template.xml: To configure the layout—for example, the alignment of the tab content
- The actual content of the tab
The tab.template.xml contains a tl:LayoutReference to a contentLayout.template.xml, which in turn contains a LayoutReference to the tab’s content.
A “legacy” tab is not divided into three separate layouts. Instead, everything for the tab is contained in a single layout.
When a view is deleted, the parents of the deleted view are replaced and reloaded.
Technical Demo > Tests is a legacy tab. The tab’s content is a tab bar. If the user deletes a tab named “Technical Demo > Tests > Foo” from this tab bar, the parents of the deleted tab are replaced. Since there is only a single layout in the “Technical Demo > Tests” legacy tab, the legacy tab itself is the one that must be replaced. As a result, the “Technical Demo” tab bar has its child “Technical Demo > Tests” replaced. The child that is currently selected is replaced, which updates the selection. This is recorded by the ScriptRecorder and prevents the actual delete action from being captured.
This is not the case in Technical Demo > Components. Components is not a legacy tab. If a tab within Components is deleted, the `contentLayout.template.xml` —as the parent of the deleted tab Technical Demo > Components > Foo — is replaced and reloaded. In particular, the child elements (e.g., ` tab.template.xml`, the layout of the Components tab) of the Technical Demo tab bar do not change.
Implementation
Pause recording while deleting views.
Tests
Run the Script Recorder and record the following actions:
- Create the Foo tab in Technical Demo > Tests
- Delete the " Foo" tab under Technical Demo > Tests
Play back the recording and verify that the Script Recorder recorded the deletion of the view.