Dynamiske dropdowns

Orbeon Forms tilbyder en anden type af integrationsmuligheder i form af dynamiske dropdowns, hvor valgmulighederne i dropdownen kan hentes direkte fra en datakilde uden at skulle anvende HTTP Services og Actions

Du finder Orbeons egen officielle dokumentation af dynamiske dropdowns her

Opsætning af dynamisk dropdown

Ved opsætning af en dynamisk dropdown som vist ovenfor, så skal du indledningsvist tage stilling til en række valgmuligheder

  • With Search: Skal der være søgning i dropdownen eller skal brugeren navigere i en statisk liste med mus eller tastatur

  • Service performs search: Hvis du har valgt, at der skal være søgning, sÃ¥ kan du her vælge om det yderligere skal være sÃ¥ledes, at der løbende foretages kalde til servicen i takt med at brugeren skriver i søgefeltet. Dette er eksempelvis kendt fra en klassisk autocomplete. Vælger du Yes her, sÃ¥ fÃ¥r du adgang til variablen $fr-search-value som kan indsættes i den URL. der kaldes, og som repræsenterer, det brugeren har skrevet i feltet.

  • Service supports paging: Ved meget store lister, sÃ¥ vil der til tider være mulighed for at kunne paginere i den service du kalder, hvorefter, at der kun hentes et mindre antal resultater ad gangen der sÃ¥ løbende udvides efterhÃ¥nden som brugeren scroller til bunden af dropdownen. Vælger du Yes her, sÃ¥ fÃ¥r du adgang til variablen $fr-search-page som starter med værdien 1 og løbende inkrementeres og som du kan indsætte i den URL, der kaldes. Mange af Dataforsyningens API’er har eksempelvis denne mulighed

Når du har taget stilling til ovenstående valg, så skal der angives, hvor data hentes og hvilket data der skal placeres i dropdownen

  • Resource URL: Her angives adressen pÃ¥ den service der ønskes kaldet, hvor der er mulighed for at indlejre variable mellem to krøllede parenteser. Der er de to nævnte variable ovenfor, men ellers kan der mellem to krøllede parenteser skrives vilkÃ¥rlig XPath.
    Bemærk: Henvisninger til felter i blanketten skal laves med ægte XPath, så //felt1 i stedet for $felt1

  • Choices XPath Expression: Her skal der angives XPath til at identificere den liste af elementer, som skal være valgmuligheder i dropdownen.

  • Label XPath Expression: Her skal der angives XPath til at vælge, hvad brugeren skal præsenteres for i dropdownen. XPathen skal laves relativt til det, der er angivet under Choices XPath Expression

  • Value XPath Expression: Her skal der angives XPath til at vælge, hvad værdien af dropdownen skal have bÃ¥de til senere formler og i den endelige XML. XPathen skal laves relativt til det, der er angivet under Choices XPath Expression

  • Is last page XPath Expression: Hvis du har valgt at anvende paginering i dropdownen kan der her angives XPath til at identificere, hvornÃ¥r der ikke længere er data at hente. Ofte vil den konkrete service fortælle, hvordan dette identificeres.

Eksempler på brug af dynamiske dropdowns

Der er i Blanketmotorens sandkasse en lang række eksempler på, hvordan dynamiske dropdowns kan bruges til at koble op mod primært adresser og geografiske temaer. Mange af disse anvender Dataforsyningens API’er som er frit tilgængelige, men der er også eksempler på søgning i P-enheder

Derudover er et oplagt brugsscenarie for dynamiske dropdowns at koble sig op på de Listeservices, der findes i Blanketmotoren, og som også gør det nemt at populere dropdowns