Skip to content

Layout ​

Det er muligt at styre placeringen af alle funktionerne i og omkring kortet via layout-objektet i map-konfigurationen. layout fordeler kontroller i navngivne slots (paneler), der kan placeres til venstre, højre, over eller under kortet — eller flyde oven på det. På mobile enheder skifter layoutet automatisk til en bundmenu. Se eksempel her.

json
"layout": {
  "appMode": true,
  "appBreakpoint": 820,
  "slots": {
    "left": {
      "title": "Søgning",
      "showHeader": true,
      "icon": "search",
      "controls": ["search"],
      "activateButton": { 
        "icon": "search", 
        "title": "Søg" 
      }
    }
  }
}

Options ​

defaultSlot ​

  • Type: string
  • Default: "left"

Fallback-slot, der bruges, når en kontrol beder om et ukendt slot-navn. Gyldige værdier: "left", "right", "top", "bottom", "float-left", "float-right", "float-top", "float-bottom".

appMode ​

  • Type: boolean
  • Default: true

Når true (standard) skifter layoutet til app-mode ved den aktuelle containerbredde. Sæt til false for altid at bruge desktop-panellayoutet.

appMapFlexible ​

  • Type: boolean
  • Default: false

I app-tilstand: gør at kortet skrumper for at give plads til det åbne panel under kortet, i stedet for at panelet ligger som en "bottom sheet" oven på kortet. Panelets højde justeres automatisk efter indholdets højde (eller udfylder den tilgængelige plads, hvis panelet indeholder søgning).

appBreakpoint ​

  • Type: number
  • Default: 820

Containerbredde (px), under hvilken app-tilstand aktiveres. Værdien måles på widget-containeren, ikke på hele viewporten.

appNavType ​

  • Type: string
  • Default: bottom

Styrer app-mode-navigationens placering og udseende.

  • "bottom": viser navigationen som en fuld-bredde bjælke nederst i widgeten.
  • "float": viser navigationen som en svævende knapper over kortet.

Navigationen indeholder én knap for hver slot, hvor appNav ikke er sat til false. appNavType ændrer kun navigationens placering; det ændrer ikke hvilke slots eller controls der findes.

json
"layout": {
  "appNavType": "float",
  "slots": {
    "left": {
      "title": "Listevisning",
      "controls": ["table"],
      "appNav": true
    },
    "right": {
      "title": "Kortindstillinger",
      "controls": ["layerswitch2"],
      "appNav": false
    }
  }
}

leftWidth ​

  • Type: string | number

CSS-bredde på venstre panel, f.eks. "320px". Styrer størrelsen på de fastgjorte paneler globalt. Individuelle slots kan tilsidesætte med width.

rightWidth ​

  • Type: string | number

CSS-bredde på højre panel. Styrer størrelsen på de fastgjorte paneler globalt. Individuelle slots kan tilsidesætte med width.

topHeight ​

  • Type: string | number

CSS-højde på toppen panel. Styrer størrelsen på de fastgjorte paneler globalt. Individuelle slots kan tilsidesætte med height.

bottomHeight ​

  • Type: string | number

CSS-højde på bundpanelet. Styrer størrelsen på de fastgjorte paneler globalt. Individuelle slots kan tilsidesætte med height.

slots ​

En slot er et navngivet panel, der kan indeholde en eller flere kontroller. De gyldige slot-navne er:

SlotPlacering
leftFastgjort til venstre for kortet
rightFastgjort til højre for kortet
topFastgjort over kortet
bottomFastgjort under kortet
float-leftFlyder oven på kortet, venstre side
float-rightFlyder oven på kortet, højre side
float-topFlyder oven på kortet, øverst
float-bottomFlyder oven på kortet, nederst

Slot-konfigurationen angives under slots med slot-navnet som nøgle:

json
"slots": {
  "left": {
    "controls": [
      "search"
    ]
  },
  "right": {
    "tabs": [
      {
        "label": "Kortlag",
        "controls": [
          "layerswitch"
        ]
      }
    ]
  }
}

Slots options ​

disable ​

  • Type: boolean
  • Default: false

Deaktiverer denne slot-routing. Controls i slotten får ikke automatisk en slot-wrapper, og der oprettes ikke en activateButton til slotten.

title ​

  • Type: string

Panelets overskriftstekst og label i bundnavigationen. Bruges også som tooltip/aria-label på activateButton, hvis ingen eksplicit titel er angivet på knappen.

label ​

  • Type: string

Label vist på slottens knap i bundnavigationen (app-tilstand). Falder tilbage til title, hvis ikke angivet.

showHeader ​

  • Type: boolean
  • Default: true

Styrer panelets overskriftsbjælke. true viser overskriftsbjælken med title som tekst. false skjuler overskriftsbjælken eksplicit, selv når title er angivet. Hvis optionen udelades, vises headeren, når title er sat.

icon ​

  • Type: string

Google Material Icons-symbolnavn vist i overskriften og i bundmenuns navigationsknap, f.eks. "search", "layers", "tune".

float ​

  • Type: boolean
  • Default: false

Gør panelet til et overlay oven på kortet i stedet for at placere det ved siden af kortet i et grid-layout. Kombiner med position for at styre placeringen.

position ​

  • Type: string
  • Eksempler: "center", "left", "right"

Vandret/lodret placering af et flydende panel. Tilføjer CSS-klassen sw-slot-position-{value} til panelet. Kræver at float: true er sat.

json
"top": {
  "float": true,
  "position": "center",
  "controls": ["search"]
}

expanded ​

  • Type: boolean
  • Default: false

Bestemmer om panelet starter åbent, når det har en activateButton. Ignoreres, hvis der ikke er nogen activateButton.

controls ​

  • Type: string[]

ID'er på de kontroller, der skal vises fladt i panelets krop. Brug tabs i stedet, hvis du ønsker et fanebaseret layout.

width ​

  • Type: string | number

CSS-bredde-tilsidesættelse for dette panel — tilsidesætter den globale leftWidth/rightWidth.

height ​

  • Type: string | number

CSS-højde-tilsidesættelse for dette panel — tilsidesætter den globale topHeight/bottomHeight.

tabs ​

  • Type: array

Fanebaseret layout: flere faner, der hver har sine egne kontroller. Kan ikke kombineres med controls på samme slot.

json
"right": {
  "tabs": [
    { "label": "Kortlag", "icon": "stacks", "controls": ["layerswitch"] },
    { "label": "Filter",  "icon": "tune",   "controls": ["filter"] }
  ]
}

Hver fane har følgende egenskaber:

label ​

  • Type: string

Tekst vist på faneknappen.

icon ​

  • Type: string

Google Material Icons-symbolnavn vist på faneknappen.

controls ​

  • Type: string[] (påkrævet)

ID'er på de kontroller, der renderes inde i fanen. Rækkefølgen bestemmer visningsrækkefølgen.

active ​

  • Type: boolean
  • Default: false

Angiver om denne fane er den aktive standardfane. Hvis ikke angivet, er den første fane aktiv.

appNav ​

  • Type: boolean
  • Default: true

Angiver om denne slot vises som knap i bundnavigationsbjælken i app-tilstand. Navigationen vises som en bundbjælke eller en floating pill afhængigt af appNavType. Sæt til false for at skjule slotten fra app-navigationen. Slotten og dens controls kan stadig eksistere og placeres i layoutet.

showMapButton ​

  • Type: boolean | object
  • Default: false

Viser en knap i et åbent app-panel, der lukker panelet og viser kortet igen. Bruges typisk på slots med layerswitch eller layerswitch2. Ved objekt-form kan icon og label angives.

json
"showMapButton": {
  "icon": "map",
  "label": "Vis kort"
}

activateButton ​

  • Type: object

Aktivér denne funktion med en knap i kortet. Læs mere om activateButton her.