Navigation innerhalb einer Web-Anwendung
Innerhalb einer Web-Anwendung gibt es verschiedene Möglichkeiten zu navigieren, also zwischen verschiedenen Components zu wechseln. Standardmäßig wird aus den Anzeigenamen (displayName
) der Component das Menü erstellt. Über dieses Menü können Benutzer zu den entsprechenden Components gelangen.
Weitere Möglichkeiten der Navigation sind die Definition einer Custom Action und das Überschreiben der select
Action in der Liste eines Master-Strukturelements innerhalb einer Master/Detail Component. Mit diesen beiden Möglichkeiten kann auch innerhalb einer Master/Detail Component zu Subcomponents navigiert werden.
Navigation mit einer Action
Das folgende Beispiel zeigt, wie eine Action definiert wird, die zur Component mit dem componentName
name
navigiert.
<CustomAction displayName="Navigate" componentName="name" />
Die Action in diesem Beispiel navigiert unabhängig davon, ob in der Master/Detail Component etwas ausgewählt ist. Das Attribut selectionNeeded
kann verwendet werden, um die Action an eine Auswahl zu binden:
<CustomAction displayName="Navigate" componentName="name" selectionNeeded="true" />
Navigation durch Überschreiben der select
Action
Das folgende Beispiel zeigt eine Master/Detail Component mit überschriebener select
Action im Master-Strukturelement:
<MasterDetailComponent xmlns="http://softproject.de/webapp/1.0">
<Properties>
<Property name="List" type="Complex">
<Property name="Value" type="String" />
</Property>
</Properties>
<Master>
<ListComponent name="list" process="fillListProcess.wrf">
<Actions>
<SelectAction process="select.wrf" />
</Actions>
</ListComponent>
</Master>
<Detail>
<DetailComponent name="Detail">
<FlowLayout>
<Label value="#List.Value" />
</FlowLayout>
</DetailComponent>
</Detail>
</MasterDetailComponent>
select.wrf:

select.xml:
<?xml version="1.0" encoding="UTF-8" ?>
<Ok componentName="Detail2" />
In diesem Beispiel wird die Detail2 Component immer als Detail Component für die Auswahl in der Master/Detail Component verwendet. Der Technical Process, der an die überschriebene select
Action gebunden ist, gibt eine Antwort zurück, die das gegebene Attribut componentName
enthält. Dieses gibt die Anweisung, zur entsprechenden Component zu navigieren.
Dieses Beispiel ist sehr einfach gehalten, es ist möglich komplexe Mappings und Bedingungen in den Technical Process einzubauen, der die Antwort zurückgibt, um ein Detail für die Anzeige in jedem einzelnen Fall auszuwählen.
Das Beispiel der Master/Detail Component mit Projektstruktur findet sich im entsprechenden Abschnitt.
Die Attribute der Components, Actions, Properties und der Data-Binding-Mechanismus finden sich ebenfalls in den entsprechenden Abschnitten.