Skip to content

Commit

Permalink
Fjern delmalerSortert - poc
Browse files Browse the repository at this point in the history
  • Loading branch information
ma10s committed Oct 30, 2024
1 parent 4243e75 commit 9555916
Show file tree
Hide file tree
Showing 2 changed files with 33 additions and 8 deletions.
5 changes: 3 additions & 2 deletions src/frontend/Komponenter/Behandling/Brev/BrevTyper.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ export type FritekstBlokk = {
_type: 'fritekstområde';
innhold: { id: string };
};
type DelmalBlokk = {
export type DelmalBlokk = {
_type: 'delmalBlock';
innhold: Delmal;
};
Expand Down Expand Up @@ -41,13 +41,13 @@ export type BrevmenyGruppe =
export const erDelmalGruppe = (e: BrevmenyGruppe): e is DelmalGruppe => e.type === 'DelmalGruppe';

export interface DokumentMal {
delmalerSortert: Delmal[];
brevmenyBlokker: BrevmenyBlokk[];
}

export interface AlleFlettefelter {
flettefeltReferanse: Flettefelt[];
}

interface Flettefelt {
felt: string;
erFritektsfelt?: boolean;
Expand All @@ -74,6 +74,7 @@ export interface Valgmulighet {
export interface Flettefelter {
flettefelt: Flettefeltreferanse[];
}

export interface ValgFelt {
valgMuligheter: Valgmulighet[];
valgfeltVisningsnavn: string;
Expand Down
36 changes: 30 additions & 6 deletions src/frontend/Komponenter/Behandling/Brev/BrevUtils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import {
erFritekstblokk,
FlettefeltMedVerdi,
ValgtFelt,
erDelmalBlokk,
} from './BrevTyper';
import { Dispatch, SetStateAction } from 'react';
import { DelmalStore, FlettefeltStore, ValgfeltStore } from '../../../App/hooks/useVerdierForBrev';
Expand Down Expand Up @@ -105,15 +106,27 @@ export const initFlettefelterMedVerdi = (
automatiskUtfylt: !!flettefeltStore[flettefeltReferanse.felt],
}));

function finnDelmal(blokk: BrevmenyBlokk): Delmal | undefined {
if (erDelmalBlokk(blokk)) {
return blokk.innhold;
}
}

export const initValgteFelt = (
valgteFeltFraMellomlager: ValgtFelt | undefined,
brevStruktur: BrevStruktur,
valgfeltStore: ValgfeltStore
): ValgtFelt => {
const valgfeltMellomlager = Object.entries(valgteFeltFraMellomlager || {}).reduce(
(acc, [valgfeltApiNavn, mulighet]) => {
const delmaler = brevStruktur.dokument.brevmenyBlokker
.map((blokk) => {
return finnDelmal(blokk);
})
.filter((delmal) => delmal !== undefined) as Delmal[];

const utledOppdaterteFlettefeltFraSanity = () =>
brevStruktur.dokument.delmalerSortert.flatMap((delmal) => {
delmaler.flatMap((delmal) => {
const valgfelt = delmal.delmalValgfelt.find(
(valgFelt) => valgFelt.valgFeltApiNavn === valgfeltApiNavn
);
Expand All @@ -139,7 +152,13 @@ export const initValgteFelt = (
);

const automatiskeValgfelt = Object.entries(valgfeltStore).reduce((acc, [valgfelt, valg]) => {
const delmal = brevStruktur.dokument.delmalerSortert.find((delmal) =>
const delmaler = brevStruktur.dokument.brevmenyBlokker
.map((blokk) => {
return finnDelmal(blokk);
})
.filter((delmal) => delmal !== undefined) as Delmal[];

const delmal = delmaler.find((delmal) =>
delmal.delmalValgfelt.some((v) => v.valgFeltApiNavn === valgfelt)
);

Expand All @@ -157,8 +176,13 @@ export const harValgfeltFeil = (
brevStruktur: BrevStruktur,
settFeil: Dispatch<SetStateAction<string>>
): boolean => {
const harFeil = Object.entries(valgteFelt).some(([valgfeltApiNavn, valgtMulighet]) =>
brevStruktur.dokument.delmalerSortert.some((delmal) => {
const harFeil = Object.entries(valgteFelt).some(([valgfeltApiNavn, valgtMulighet]) => {
const delmaler = brevStruktur.dokument.brevmenyBlokker
.map((blokk) => {
return finnDelmal(blokk);
})
.filter((delmal) => delmal !== undefined) as Delmal[];
return delmaler.some((delmal) => {
const valgfeltFraMal = delmal.delmalValgfelt.find(
(valgFelt) => valgFelt.valgFeltApiNavn === valgfeltApiNavn
);
Expand All @@ -176,8 +200,8 @@ export const harValgfeltFeil = (
}
}
return false;
})
);
});
});

if (!harFeil) {
settFeil('');
Expand Down

0 comments on commit 9555916

Please sign in to comment.