Gjenbruk av kodelister fra Altinn 2
Hvordan konfigurere kodelister fra Altinn 2 i en Altinn 3 applikasjon?
Utgående funksjonalitet
Altinn 2 tilbød en felles samling av kodelister som kunne brukes i skjemaer. Inntil mai 2023 fantes det egentlig ingen alternativ for vanlig brukte kodelister på tvers av Altinn 3-applikasjoner. Ved å eksponere Altinn 2 kodeliste-API-en i Altinn 3-applikasjoner, får du tilgang til den samme samlingen av kodelister.
Dette er imidlertid ikke en langsiktig løsning, og med utgivelsen av Altinn felles kodelister-pakken, har du nå tilgang til mange av de samme kodelistene som i Altinn 2.
Du kan fortsatt oppleve at det mangler en eller to kodelister i Altinn 3 sammenlignet med Altinn 2. I så fall kan du vurdere følgende:
- Kan du opprette en “pull request” i Altinn felles kodelister-repositoriet og bidra til felleskapet slik at andre kan gjenbruke implementasjonen din?
- Hvis du ikke har kunnskapen eller tiden til å opprette en “pull request”, gi oss beskjed ved å opprette en ny sak og beskriv hvilken kodeliste du trenger, så vil vi enten opprette den eller hjelpe deg med å gjøre det.
- Hvis du bestemmer deg for å bruke Altinn 2-versjonen, vær oppmerksom på at dette API-et ikke vil være tilgjengelig etter juni 2025.
Konfigurer en Altinn 2 kodeliste
For en oversikt over tilgjengelige kodelister i Altinn 2, kan du bruke apiet
Du registrerer listene du ønsker å bruke i applikasjonens Program.cs
, og du kan oppdatere kodelisten gjennom TUL.
using Altinn.App.Core.Features.Options;
...
services.AddAltinn2CodeList(
id: "ASF_Land",
transform: (code) => new (){ Value = code.Code, Label = code.Value1 },
// filter: (code) => int.Parse(code.Value3) > 100,
codeListVersion: 3994, // Optional (use latest version if missing)
metadataApiId: "ASF_Land" // Code list name in Altinn 2 (use id if missing)
);
Det eneste som er påkrevd er id
for hva kodelisten heter i Altinn 2, og transform
for å fortelle hvilke kolonner du
ønsker å bruke som Value
og Label
. Oversetting fungerer automatisk. Etter versjon v7.2.0
vil nb
bli brukt om
listen mangler språket brukeren har valgt. Om du ønsker to ulike transformasjoner av samme liste, blir id
navnet
som brukes i Altinn 3 og metadataApiId
brukes i oppslaget mot Altinn 2
Bruken er som alle andre kodelister der id
kommer igjen som optionsId
i komponenten.
{
"id": "landvelger",
"type": "Dropdown",
...
"optionsId": "ASF_Land"
},