CustomWebResolver – Liste
Für das Mappen von Listen ist es notwendig sowohl die Listenkomponente selbst, also diejenige, welche alle Einträge beinhaltet, sowie die einzelnen Listeneinträge zu mappen.
Klasse | Notwendige Komponenten / Unterelemente |
---|---|
List | Stellt die Liste dar, beinhaltet alle Listeneinträge. |
Item:ListItem | Stellt einen Listeneintrag dar. |
Optionale Unterelemente | |
CheckBox:ListItemCheckBox | (Optional) Stellt eine CheckBox unter einem Listeneintrag dar. |
Icon:ListItemIcon | (Optional) Stellt ein Icon unter einem Listeneintrag dar. |
Im Falle von ComboBoxen können Sie auch die spezielle ComboBox Liste spezifizieren mittels
List:ComboBoxList
und Item:ComboBoxListItem
.
Beispiel:
Folgender HTML-Code bildet eine Liste ab:
<ul class="datalist"> <li class="list-item">Eintrag A</li> <li class="list-item">Eintrag B</li> <li class="list-item">Eintrag C</li> <li class="list-item">Eintrag D</li> <li class="list-item">Eintrag E</li> </ul>
Hier hat man die Auswahl, ob man die HTML-Tags mappt oder die CSS-Klassen.
Es ist sicherer, die CSS-Klassen zu nehmen. Bei datalist
spricht
vieles dafür, dass sich diese Klasse nur auf Listen im Sinne von QF-Test bezieht.
Bei list-item
können wir sicherheitshalber ancestor: List
hinzufügen, um sicherzugehen, dass wir hier nicht Unterelemente anderer komplexer
Komponenten mappen. (z.B. bei hier nicht dargestellten Tabellen, deren Zellen
durchaus auch die CSS-Klasse list-item
haben könnten.)
Man könnte auch die HTML-Tags mappen. Dies birgt nur die große Gefahr,
dass diese im HTML-Code an anderer Stelle für andere Komponenten verwendet
werden und dann das Mapping in QF-Test nicht passt.
Wenn Ihnen so etwas passiert und Sie nicht herausfinden, warum ein Mapping
nicht greift, ist es hilfreich, sich die vorhandenen Mappings über
die Prozedur qfs.web.cwr.dumpConfiguration
anzeigen zu lassen.
genericClasses: - List: datalist - Item:ListItem: class: list-item ancestor: List