Skip to content

Commit 50f670c

Browse files
committed
legg til flatut som støtter nytt format på tilganger
1 parent 6fe9d4f commit 50f670c

File tree

3 files changed

+72
-26
lines changed

3 files changed

+72
-26
lines changed

package-lock.json

+2-2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@navikt/bedriftsmeny",
3-
"version": "7.0.2",
3+
"version": "7.0.3",
44
"description": "Bedriftsvelger og -meny for innlogget arbeidsgiver. Laget av TAG (Tjenester for Arbeidsgivere).",
55
"author": "NAVIKT",
66
"license": "MIT",

src/bedriftsmeny/Bedriftsmeny.tsx

+69-23
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ export type VirksomhetsvelgerProps = {
3939
*/
4040
orgnrSearchParam?: OrgnrSearchParamType;
4141
friKomponent?: boolean;
42-
maxWidth?: string
42+
maxWidth?: string;
4343
/** @deprecated not in use. field preserved for api stability. */
4444
amplitudeClient?: any;
4545
};
@@ -87,29 +87,75 @@ type Organisasjonstre = {
8787
underenheter: Organisasjonstre[];
8888
};
8989

90-
9190
export const flatUtOrganisasjonstre = (organisasjonstre: Organisasjonstre[]): Organisasjon[] => {
92-
const kutter = (parent: Organisasjonstre, parentOrgNr: String = ""): Organisasjon[] => {
93-
return parent.underenheter.flatMap((child, i) => {
94-
if (child.underenheter.length > 0) {
95-
return kutter(child, parent.orgNr)
96-
} else {
97-
return [
98-
...[i === 0 ? {
99-
Name: parent.name,
100-
OrganizationNumber: parent.orgNr,
101-
OrganizationForm: parent.organizationForm,
102-
ParentOrganizationNumber: parentOrgNr,
103-
} : null],
104-
{
105-
Name: child.name,
106-
OrganizationNumber: child.orgNr,
107-
OrganizationForm: child.organizationForm,
108-
ParentOrganizationNumber: parent.orgNr,
109-
},
110-
];
111-
}
112-
}).filter( x => x!==null) as Organisasjon[];
91+
const kutter = (parent: Organisasjonstre, parentOrgNr: String = ''): Organisasjon[] => {
92+
return parent.underenheter
93+
.flatMap((child, i) => {
94+
if (child.underenheter.length > 0) {
95+
return kutter(child, parent.orgNr);
96+
} else {
97+
return [
98+
...[
99+
i === 0
100+
? {
101+
Name: parent.name,
102+
OrganizationNumber: parent.orgNr,
103+
OrganizationForm: parent.organizationForm,
104+
ParentOrganizationNumber: parentOrgNr,
105+
}
106+
: null,
107+
],
108+
{
109+
Name: child.name,
110+
OrganizationNumber: child.orgNr,
111+
OrganizationForm: child.organizationForm,
112+
ParentOrganizationNumber: parent.orgNr,
113+
},
114+
];
115+
}
116+
})
117+
.filter((x) => x !== null) as Organisasjon[];
118+
};
119+
return organisasjonstre.flatMap((o) => kutter(o));
120+
};
121+
122+
type OrganisasjonstreV2 = {
123+
navn: string;
124+
orgnr: string;
125+
organisasjonsform: string;
126+
underenheter: OrganisasjonstreV2[];
127+
};
128+
129+
export const flatUtOrganisasjonstreV2 = (
130+
organisasjonstre: OrganisasjonstreV2[]
131+
): Organisasjon[] => {
132+
const kutter = (parent: OrganisasjonstreV2, parentOrgNr: String = ''): Organisasjon[] => {
133+
return parent.underenheter
134+
.flatMap((child, i) => {
135+
if (child.underenheter.length > 0) {
136+
return kutter(child, parent.orgnr);
137+
} else {
138+
return [
139+
...[
140+
i === 0
141+
? {
142+
Name: parent.navn,
143+
OrganizationNumber: parent.orgnr,
144+
OrganizationForm: parent.organisasjonsform,
145+
ParentOrganizationNumber: parentOrgNr,
146+
}
147+
: null,
148+
],
149+
{
150+
Name: child.navn,
151+
OrganizationNumber: child.orgnr,
152+
OrganizationForm: child.organisasjonsform,
153+
ParentOrganizationNumber: parent.orgnr,
154+
},
155+
];
156+
}
157+
})
158+
.filter((x) => x !== null) as Organisasjon[];
113159
};
114160
return organisasjonstre.flatMap((o) => kutter(o));
115161
};

0 commit comments

Comments
 (0)