{"version":3,"file":"veilederNordenHelgrad-sOfJycYa.js","sources":["../../../Features/VeilederNordenHelgrad/Utilities/VarighetTypeValg.ts","../../../Features/VeilederNordenHelgrad/Utilities/BetaleTypeValg.ts","../../../Features/VeilederNordenHelgrad/Store/Valg/Types.ts","../../../Features/VeilederNordenHelgrad/Store/Resultat/Types.ts","../../../Features/VeilederNordenHelgrad/Store/Resultat/Actions.ts","../../../Features/VeilederNordenHelgrad/Store/Valg/Actions.ts","../../../Features/VeilederNordenHelgrad/Models/Ids.ts","../../../Features/VeilederNordenHelgrad/Utilities/Helpers.ts","../../../Features/VeilederNordenHelgrad/Components/Resultat.tsx","../../../Features/VeilederNordenHelgrad/Components/UtbetalingDetaljerComponent.tsx","../../../Features/VeilederNordenHelgrad/Components/UtbetalingComponent.tsx","../../../Features/VeilederNordenHelgrad/App.tsx","../../../Features/VeilederNordenHelgrad/Store/Valg/Reducers.ts","../../../Features/VeilederNordenHelgrad/Store/Resultat/Reducers.ts","../../../Features/VeilederNordenHelgrad/Store/Satser/Types.ts","../../../Features/VeilederNordenHelgrad/Store/Satser/Reducers.ts","../../../Features/VeilederNordenHelgrad/Store/index.ts","../../../Features/VeilederNordenHelgrad/Models/StamdataNordenHelgradModel.ts","../../../Features/VeilederNordenHelgrad/Store/Satser/Actions.ts","../../../Features/VeilederNordenHelgrad/index.tsx"],"sourcesContent":["import { RadioButtonValgModel } from '../../Shared/Scripts/Components/RadioButtonValg';\r\nimport VeilederNordenDto from '../Models/VeilederNordenDto';\r\n\r\nconst hele = 'a1-varighetValgHeltAar';\r\nconst host = 'a2-varighetValgHost';\r\nconst vaar = 'a3-varighetValgVaar';\r\n\r\nconst varighetValg: RadioButtonValgModel[] = [\r\n {\r\n id: 'norden-a1',\r\n value: hele,\r\n tekst: 'varighetValgHeltAar',\r\n },\r\n {\r\n id: 'norden-a2',\r\n value: host,\r\n tekst: 'varighetValgHost',\r\n },\r\n {\r\n id: 'norden-a3',\r\n value: vaar,\r\n tekst: 'varighetValgVaar',\r\n }\r\n];\r\n\r\nexport default {\r\n a1_hele: hele,\r\n a2_host: host,\r\n a3_vaar: vaar,\r\n varighetValg,\r\n};\r\n","import { RadioButtonValgModel } from '../../Shared/Scripts/Components/RadioButtonValg';\r\nimport VeilederNordenDto from '../Models/VeilederNordenDto';\r\n\r\nconst ja = 'a1-betaleValgJa';\r\nconst nei = 'a2-betaleValgNei';\r\n\r\nconst betaleValg: RadioButtonValgModel[] = [\r\n {\r\n id: 'betale-a1',\r\n value: ja,\r\n tekst: 'betaleValgJa',\r\n },\r\n {\r\n id: 'betale-a2',\r\n value: nei,\r\n tekst: 'betaleValgNei',\r\n },\r\n];\r\n\r\nexport default {\r\n a1_ja: ja,\r\n a2_nei: nei,\r\n betaleValg,\r\n};\r\n","import Valg from '../../../Shared/Scripts/Models/Valg';\r\n\r\nexport interface ValgState {\r\n aVarighet?: Valg;\r\n bBetale?: Valg;\r\n cSkolepenger?: Valg;\r\n cSkolepengerBelop?: number;\r\n visBetPlan: boolean\r\n}\r\n\r\nexport const UPDATE_VALG = 'UPDATE_AVALG';\r\n\r\ninterface UpdateValgAction {\r\n type: typeof UPDATE_VALG;\r\n payload: Partial;\r\n}\r\n\r\nexport type ValgStateActionTypes = UpdateValgAction;\r\n","import { ValideringsResultat } from '../../../Shared/Scripts/Models/ValideringsResultat';\r\n\r\nexport type ResultatValg = ResultatValgVisning & ResultatValgValidering;\r\n\r\nexport interface ResultatValgVisning {\r\n visBoksB: boolean;\r\n visBoksBx: boolean;\r\n visBoksC: boolean;\r\n visBoksD: boolean;\r\n visBetPlan: boolean;\r\n visGenerellFeil: boolean;\r\n}\r\n\r\nexport const UPDATE_VALIDERING = 'UPDATE_VALIDERING';\r\nexport const SET_VISNING = 'SET_VISNING';\r\n\r\nexport interface ResultatValgValidering {\r\n cValidation?: ValideringsResultat;\r\n}\r\n\r\nexport interface UpdateValidationAction {\r\n type: typeof UPDATE_VALIDERING;\r\n payload: Partial;\r\n}\r\n\r\nexport interface SetVisningAction {\r\n type: typeof SET_VISNING;\r\n payload: Partial;\r\n}\r\n\r\nexport type ResultatActionTypes = SetVisningAction | UpdateValidationAction;\r\n","import { \r\n SetVisningAction, \r\n SET_VISNING, \r\n ResultatValgVisning, \r\n ResultatValgValidering, \r\n UpdateValidationAction,\r\n UPDATE_VALIDERING\r\n} from './Types';\r\n\r\nexport function setVisning(stegVisning: Partial): SetVisningAction {\r\n return {\r\n type: SET_VISNING,\r\n payload: stegVisning,\r\n };\r\n}\r\n\r\nexport function updateValidation(validation: Partial): UpdateValidationAction {\r\n return {\r\n type: UPDATE_VALIDERING,\r\n payload: validation,\r\n };\r\n}\r\n","import { ValgStateActionTypes, ValgState, UPDATE_VALG } from './Types';\r\n\r\nimport { ThunkAction, ThunkDispatch } from 'redux-thunk';\r\nimport { VeilederNordenAppState } from '..';\r\nimport { AnyAction } from 'redux';\r\nimport { setVisning } from '../Resultat/Actions';\r\nimport VarighetTypeValg from '../../Utilities/VarighetTypeValg';\r\nimport BetaleTypeValg from '../../Utilities/BetaleTypeValg';\r\n\r\nexport function updateValg(newValg: Partial): ValgStateActionTypes {\r\n return {\r\n type: UPDATE_VALG,\r\n payload: newValg,\r\n };\r\n}\r\n\r\nexport const updateVisning = (): ThunkAction => {\r\n return (dispatch: ThunkDispatch, getState: () => VeilederNordenAppState): void => {\r\n const currentState = getState();\r\n\r\n const visBoksB = visB(currentState);\r\n const visBoksBx = visBx(currentState);\r\n const visBoksC = visC(currentState);\r\n const visBoksD = visD(currentState);\r\n const visBetPlan = visPlan(currentState);\r\n dispatch(setVisning({ visBoksB, visBoksBx, visBoksC, visBoksD, visBetPlan }));\r\n };\r\n};\r\n\r\nconst visB = (state: VeilederNordenAppState): boolean => {\r\n if(state.valg.aVarighet !== null && state.valg.aVarighet !== undefined && state.valg.aVarighet.value === VarighetTypeValg.a1_hele)\r\n return true;\r\n\r\n return false;\r\n};\r\n\r\nconst visBx = (state: VeilederNordenAppState): boolean => {\r\n if(state.valg.aVarighet !== null && state.valg.aVarighet !== undefined && state.valg.aVarighet.value !== VarighetTypeValg.a1_hele)\r\n return true;\r\n \r\n return false;\r\n};\r\n\r\nconst visC = (state: VeilederNordenAppState): boolean => {\r\n if(state.valg.bBetale !== null && state.valg.bBetale !== undefined && state.valg.bBetale.value === BetaleTypeValg.a1_ja)\r\n return true;\r\n\r\n return false;\r\n};\r\n\r\nconst visD = (state: VeilederNordenAppState): boolean => {\r\n let maksSkolepengebelop: number = 0;\r\n if(state.satser?.SATS_ST01_SKOLEPENGESTOTTE_MAKS_PER_AR_NORDEN !== undefined) {\r\n if(state.valg.aVarighet?.value === VarighetTypeValg.a1_hele) {\r\n maksSkolepengebelop = state.satser?.SATS_ST01_SKOLEPENGESTOTTE_MAKS_PER_AR_NORDEN;\r\n } else {\r\n maksSkolepengebelop = state.satser?.SATS_ST01_SKOLEPENGESTOTTE_MAKS_PER_AR_NORDEN / 2;\r\n }\r\n }\r\n\r\n if((visC(state) && state.valg.cSkolepengerBelop !== null && state.valg.cSkolepengerBelop !== undefined && state.valg.cSkolepengerBelop <= maksSkolepengebelop) \r\n || (state.valg.bBetale !== null && state.valg.bBetale !== undefined && state.valg.bBetale.value === BetaleTypeValg.a2_nei))\r\n return true;\r\n\r\n return false;\r\n};\r\n\r\nconst visPlan = (state: VeilederNordenAppState): boolean => {\r\n if(visD(state) && state.valg.visBetPlan)\r\n return true;\r\n\r\n return false;\r\n}\r\n","export const AppContainerId = 'veilederNordenHelgrad';\r\nexport const BoksA = 'boks-A';\r\nexport const BoksB = 'boks-B';\r\nexport const BoksC = 'boks-C';\r\nexport const BoksD = 'boks-D';","import VarighetTypeValg from '../Utilities/VarighetTypeValg';\r\n\r\nexport function formatNumber(tall: number | undefined, locale: string = 'nb-NO') : string {\r\n if(tall === undefined)\r\n return \"\";\r\n\r\n let tallSomString: string = tall.toString();\r\n if(locale === 'en-US') {\r\n tallSomString = tallSomString.replace(/(?!^)(?=(?:\\d{3})+(?:\\.|$))/gm, ',');\r\n } else {\r\n tallSomString = tallSomString.replace(/(?!^)(?=(?:\\d{3})+(?:\\.|$))/gm, ' ');\r\n }\r\n \r\n return tallSomString;\r\n}\r\n\r\nexport function hentAntallDagerDetSkalRegnesStipendOgLanFor(valgtVarighet: string | undefined): number {\r\n if(valgtVarighet === undefined)\r\n return 0;\r\n\r\n if(valgtVarighet === VarighetTypeValg.a1_hele) {\r\n return 330;\r\n }\r\n if(valgtVarighet === VarighetTypeValg.a2_host) {\r\n return 150;\r\n }\r\n if(valgtVarighet === VarighetTypeValg.a3_vaar) {\r\n return 180;\r\n }\r\n return 0;\r\n}","import React, {useEffect, useState} from 'react';\r\nimport { connect } from 'react-redux';\r\nimport * as ValgTypes from '../Store/Valg/Types';\r\nimport { StamdataNordenHelgradModel } from '../Models/StamdataNordenHelgradModel';\r\nimport { ArticleContentComponent } from '../../Shared/Scripts/Components/ArticleContentComponent';\r\nimport { ModalCompontent } from '../../Shared/Scripts/Components/ModalComponent';\r\nimport { EpiContext } from '../../Shared/Scripts/Store/EpiContext/Types';\r\nimport contentResolver from '../../Shared/Scripts/Utilities/EpiContentResolver';\r\nimport { resolveRawText } from '../../Shared/Scripts/Utilities/EpiContentResolver';\r\nimport VeilederNordenDto from '../Models/VeilederNordenDto';\r\nimport { VeilederNordenAppState } from '../Store';\r\nimport VarighetTypeValg from '../Utilities/VarighetTypeValg';\r\nimport BetaleTypeValg from '../Utilities/BetaleTypeValg';\r\nimport { ResultatValg } from '../Store/Resultat/Types';\r\nimport { formatNumber, hentAntallDagerDetSkalRegnesStipendOgLanFor } from '../Utilities/Helpers';\r\nimport { updateLiveMessage } from '../../Shared/Scripts/Utilities/LiveMessage';\r\n\r\ninterface ResultatOwnProps {\r\n satser: StamdataNordenHelgradModel | null,\r\n valg: ValgTypes.ValgState,\r\n valuta: string,\r\n locale:string,\r\n visUtbetalingsPlanHandler: any,\r\n}\r\n\r\ntype ResultatDisplayProps = ResultatOwnProps & MapStateToProps;\r\n\r\nfunction Resultat(props: ResultatDisplayProps): JSX.Element {\r\n const { epiContext, resultat } = props;\r\n\r\n const [visVilkarAModal, setVisVilkarAModal] = useState(false);\r\n const [visUtbetalingsplan, setVisUtbetalingsplan] = useState(false);\r\n\r\n useEffect(() => {\r\n updateLiveMessage();\r\n }, []);\r\n function onVilkarAClick(): void {\r\n setVisVilkarAModal(true);\r\n }\r\n\r\n function onRequestLukkVilkarA(): void {\r\n setVisVilkarAModal(false);\r\n }\r\n\r\n function onVisUtbetalingsPlan(): void {\r\n if(visUtbetalingsplan) {\r\n setVisUtbetalingsplan(false);\r\n props.visUtbetalingsPlanHandler(false);\r\n } else {\r\n setVisUtbetalingsplan(true);\r\n props.visUtbetalingsPlanHandler(true);\r\n }\r\n }\r\n\r\n function getTitle(): JSX.Element | null {\r\n if(props.valg.aVarighet?.value === VarighetTypeValg.a1_hele) {\r\n return contentResolver(epiContext, \"resultatTittelHeltAar\");\r\n }\r\n return contentResolver(epiContext, \"resultatTittelSemester\");\r\n }\r\n\r\n function getUnderOverskrift(): JSX.Element | null {\r\n if(props.valg.aVarighet?.value === VarighetTypeValg.a1_hele) {\r\n return contentResolver(epiContext, \"resultatTotaltTittel\");\r\n }\r\n return contentResolver(epiContext, \"resultatTotaltTittelSemester\");\r\n }\r\n\r\n function hentSkolepengeBelop(): number {\r\n if(props.valg?.cSkolepengerBelop !== undefined && props.valg?.bBetale?.value === BetaleTypeValg.a1_ja)\r\n return props.valg.cSkolepengerBelop;\r\n\r\n return 0;\r\n }\r\n\r\n function hentUtregningTotal(): number {\r\n if(props.satser?.SATS_ST01_MAKS_BASISSTOTTE_DAG !== undefined) {\r\n return Math.round((props.satser?.SATS_ST01_MAKS_BASISSTOTTE_DAG * hentAntallDagerDetSkalRegnesStipendOgLanFor(props.valg.aVarighet?.value)) + hentSkolepengeBelop());\r\n }\r\n return 0;\r\n }\r\n\r\n function hentUtregningStipend(): number {\r\n if(props.satser?.SATS_ST01_MAKS_BASISSTOTTE_DAG !== undefined) {\r\n return Math.round((props.satser?.SATS_ST01_MAKS_BASISSTOTTE_DAG * hentAntallDagerDetSkalRegnesStipendOgLanFor(props.valg.aVarighet?.value)) * 0.4);\r\n }\r\n return 0;\r\n }\r\n\r\n function hentUtregningMaksLan(): number {\r\n if(props.satser?.SATS_ST01_MAKS_BASISSTOTTE_DAG !== undefined) {\r\n return Math.round(((props.satser?.SATS_ST01_MAKS_BASISSTOTTE_DAG * hentAntallDagerDetSkalRegnesStipendOgLanFor(props.valg.aVarighet?.value)) * 0.6) + hentSkolepengeBelop());\r\n }\r\n return 0;\r\n }\r\n\r\n return (\r\n
\r\n
\r\n
\r\n

\r\n {getTitle()}\r\n

\r\n
\r\n
\r\n
\r\n {formatNumber(hentUtregningTotal(), props.locale)}\r\n  {props.valuta}\r\n
\r\n

\r\n {getUnderOverskrift()}\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
{contentResolver(epiContext, \"resultatStipendTittel\")}
\r\n
\r\n {formatNumber(hentUtregningStipend(), props.locale)}\r\n  {props.valuta}\r\n
\r\n

\r\n {contentResolver(epiContext, \"resultatStipendVilkarTekst\")}\r\n

\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
{contentResolver(epiContext, \"resultatLanTittel\")}
\r\n
\r\n {formatNumber(hentUtregningMaksLan(), props.locale)}\r\n  {props.valuta}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n )\r\n\r\n}\r\n\r\ninterface MapStateToProps {\r\n epiContext: EpiContext;\r\n resultat: ResultatValg;\r\n}\r\n\r\nexport default connect(\r\n (state: VeilederNordenAppState, ownProps: ResultatOwnProps): MapStateToProps => {\r\n return {\r\n epiContext: state.epiContext,\r\n resultat: state.resultat,\r\n };\r\n }\r\n)(Resultat);","import React from 'react';\r\nimport { EpiContext } from '../../Shared/Scripts/Store/EpiContext/Types';\r\nimport VeilederNordenDto from '../Models/VeilederNordenDto';\r\nimport { VeilederNordenAppState } from '../Store';\r\nimport { connect } from 'react-redux';\r\nimport contentResolver from '../../Shared/Scripts/Utilities/EpiContentResolver';\r\nimport { StamdataNordenHelgradModel } from '../Models/StamdataNordenHelgradModel';\r\nimport * as ValgTypes from '../Store/Valg/Types';\r\nimport { formatNumber, hentAntallDagerDetSkalRegnesStipendOgLanFor } from '../Utilities/Helpers';\r\nimport BetaleTypeValg from '../Utilities/BetaleTypeValg';\r\nimport { tilPengerFormat} from '../../Shared/Scripts/Utilities/Formatters';\r\n\r\ninterface UtbetalingOwnProps {\r\n satser: StamdataNordenHelgradModel | null,\r\n valg: ValgTypes.ValgState,\r\n locale: string,\r\n valuta: string,\r\n}\r\n\r\ntype UtbetalingProps = UtbetalingOwnProps & MapStateToProps & {};\r\n\r\nconst UtbetalingDetaljerComponent = (props: UtbetalingProps): JSX.Element => {\r\n const { epiContext } = props;\r\n \r\n function hentBasisLan() {\r\n if(props.satser?.SATS_ST01_MAKS_BASISSTOTTE_DAG !== undefined)\r\n return props.satser?.SATS_ST01_MAKS_BASISSTOTTE_DAG * hentAntallDagerDetSkalRegnesStipendOgLanFor(props.valg.aVarighet?.value);\r\n\r\n return 0;\r\n }\r\n\r\n return (\r\n
\r\n

{contentResolver(epiContext, 'betPlanTittelYtelser')}

\r\n
\r\n
\r\n
\r\n {contentResolver(epiContext, 'betPlanTittelYtelseKolonne')}\r\n
\r\n
\r\n {contentResolver(epiContext, 'betPlanTittelBelopKolonne')}\r\n
\r\n
\r\n
\r\n
\r\n {contentResolver(epiContext, 'betPlanDetaljerBasisLan')}\r\n
\r\n
\r\n {tilPengerFormat(hentBasisLan(), props.locale)}\r\n  {props.valuta}\r\n
\r\n
\r\n {props.valg.bBetale?.value === BetaleTypeValg.a1_ja && (\r\n
\r\n
\r\n {contentResolver(epiContext, 'betPlanDetaljerSkolepengeLan')}\r\n
\r\n
\r\n {formatNumber(props.valg.cSkolepengerBelop, props.locale)}\r\n  {props.valuta}\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n );\r\n}\r\n\r\ninterface MapStateToProps {\r\n epiContext: EpiContext;\r\n}\r\n\r\nexport default connect(\r\n (state: VeilederNordenAppState): MapStateToProps => {\r\n return {\r\n epiContext: state.epiContext,\r\n };\r\n },\r\n)(UtbetalingDetaljerComponent);","import React from 'react';\r\nimport { EpiContext } from '../../Shared/Scripts/Store/EpiContext/Types';\r\nimport VeilederNordenDto from '../Models/VeilederNordenDto';\r\nimport { VeilederNordenAppState } from '../Store';\r\nimport { connect } from 'react-redux';\r\nimport contentResolver from '../../Shared/Scripts/Utilities/EpiContentResolver';\r\nimport { StamdataNordenHelgradModel } from '../Models/StamdataNordenHelgradModel';\r\nimport * as ValgTypes from '../Store/Valg/Types';\r\nimport UtbetalingDetaljerComponent from './UtbetalingDetaljerComponent'\r\nimport { formatNumber } from '../Utilities/Helpers';\r\nimport { ResultatValgVisning } from '../Store/Resultat/Types';\r\nimport VarighetTypeValg from '../Utilities/VarighetTypeValg';\r\n\r\ninterface UtbetalingOwnProps {\r\n satser: StamdataNordenHelgradModel | null,\r\n valg: ValgTypes.ValgState,\r\n resultat: ResultatValgVisning,\r\n locale: string,\r\n valuta: string,\r\n}\r\n\r\ntype UtbetalingProps = UtbetalingOwnProps & MapStateToProps & {};\r\n\r\nconst UtbetalingComponent = (props: UtbetalingProps): JSX.Element => {\r\n const { epiContext } = props;\r\n\r\n let utbetalingsDetaljer: JSX.Element | null = null;\r\n if(props.resultat.visBetPlan) {\r\n utbetalingsDetaljer = \r\n }\r\n \r\n function hentUtbetalingJuni(): number {\r\n if(props.satser?.SATS_ST01_MAKS_BASISSTOTTE_DAG !== undefined)\r\n return props.satser?.SATS_ST01_MAKS_BASISSTOTTE_DAG * 30\r\n\r\n return 0;\r\n }\r\n\r\n function hentHovedUtbetaling(): number {\r\n if(props.satser?.SATS_ST01_MAKS_BASISSTOTTE_DAG === undefined)\r\n return 0;\r\n\r\n let skolepenger:number = 0;\r\n if(props.valg.cSkolepengerBelop !== undefined)\r\n skolepenger = props.valg.cSkolepengerBelop;\r\n\r\n if(props.valg.aVarighet?.value === VarighetTypeValg.a1_hele) {\r\n return (props.satser?.SATS_ST01_MAKS_BASISSTOTTE_DAG * 150) + (skolepenger / 2);\r\n \r\n } else {\r\n return (props.satser?.SATS_ST01_MAKS_BASISSTOTTE_DAG * 150) + skolepenger;\r\n }\r\n }\r\n\r\n return (\r\n\r\n
\r\n
\r\n\r\n {(props.valg.aVarighet?.value === VarighetTypeValg.a1_hele || props.valg.aVarighet?.value === VarighetTypeValg.a2_host) && (\r\n
\r\n

\r\n {contentResolver(epiContext, 'betPlanKolonneTittelHost')}\r\n

\r\n
\r\n
\r\n
\r\n {contentResolver(epiContext, 'betPlanKolonneTittelDato')}\r\n
\r\n
\r\n {contentResolver(epiContext, 'betPlanKolonneTittelBelop')}\r\n
\r\n
\r\n
\r\n
\r\n {contentResolver(epiContext, 'betPlanMndJuli')}\r\n
\r\n
\r\n {formatNumber(Math.round(hentHovedUtbetaling()), props.locale)}\r\n  {props.valuta}\r\n
\r\n
\r\n
\r\n
\r\n )}\r\n\r\n {(props.valg.aVarighet?.value === VarighetTypeValg.a1_hele || props.valg.aVarighet?.value === VarighetTypeValg.a3_vaar) && (\r\n
\r\n

\r\n {contentResolver(epiContext, 'betPlanKolonneTittelVar')}\r\n

\r\n
\r\n
\r\n
\r\n {contentResolver(epiContext, 'betPlanKolonneTittelDato')}\r\n
\r\n
\r\n {contentResolver(epiContext, 'betPlanKolonneTittelBelop')}\r\n
\r\n
\r\n
\r\n
\r\n {contentResolver(epiContext, 'betPlanMndDesember')}\r\n
\r\n
\r\n {formatNumber(Math.round(hentHovedUtbetaling() - 0.1), props.locale)}\r\n  {props.valuta}\r\n
\r\n
\r\n
\r\n
\r\n {contentResolver(epiContext, 'betPlanMndJuli')}\r\n
\r\n
\r\n {formatNumber(Math.round(hentUtbetalingJuni()), props.locale)}\r\n  {props.valuta}\r\n
\r\n
\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n

\r\n {contentResolver(epiContext, 'betPlanTittelVenstreSpalte')}\r\n

\r\n {contentResolver(epiContext, 'betPlanVenstreSpalte')}\r\n
\r\n
\r\n

\r\n {contentResolver(epiContext, 'betPlanTittelHoyreSpalte')}\r\n

\r\n {contentResolver(epiContext, 'betPlanHoyreSpalte')}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {utbetalingsDetaljer}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\ninterface MapStateToProps {\r\n epiContext: EpiContext;\r\n}\r\n\r\nexport default connect(\r\n (state: VeilederNordenAppState): MapStateToProps => {\r\n return {\r\n epiContext: state.epiContext,\r\n };\r\n },\r\n)(UtbetalingComponent);\r\n","import React from 'react';\r\nimport ReactModal from 'react-modal';\r\nimport { connect } from 'react-redux';\r\nimport { ThunkDispatch } from 'redux-thunk';\r\nimport { AnyAction } from 'redux';\r\nimport NumberInputStegContainer, { NumberFormatter } from '../Shared/Scripts/Components/NumberInputStegComponent';\r\nimport { EpiContext } from '../Shared/Scripts/Store/EpiContext/Types';\r\nimport { FeilmeldingComponent } from '../Shared/Scripts/Components/FeilmeldingComponent';\r\nimport contentResolver from '../Shared/Scripts/Utilities/EpiContentResolver';\r\nimport RadioButtonsStegContainer from '../Shared/Scripts/Components/RadioButtonsStegComponent';\r\nimport Valg from '../Shared/Scripts/Models/Valg';\r\nimport { NumberValidering } from '../Shared/Scripts/Utilities/Validering';\r\nimport VarighetValg from './Utilities/VarighetTypeValg';\r\nimport BetaleValg from './Utilities/BetaleTypeValg';\r\nimport VeilederNordenDto from './Models/VeilederNordenDto';\r\nimport {StamdataNordenHelgradModel } from './Models/StamdataNordenHelgradModel';\r\nimport { VeilederNordenAppState } from './Store';\r\nimport * as ValgTypes from './Store/Valg/Types';\r\nimport { ResultatValg, ResultatValgValidering } from './Store/Resultat/Types';\r\nimport { updateValg, updateVisning } from './Store/Valg/Actions';\r\nimport * as Ids from './Models/Ids';\r\nimport VarighetTypeValg from './Utilities/VarighetTypeValg';\r\nimport { updateValidation } from './Store/Resultat/Actions';\r\nimport Resultat from './Components/Resultat';\r\nimport UtbetalingComponent from './Components/UtbetalingComponent';\r\nimport SiteImproveHandler, { SiteImproveState, SiteImproveEvents, SiteImproveKategorier } from '../Shared/Scripts/Utilities/SiteImproveEventsHandler';\r\n\r\ninterface AppOwnProps {}\r\n\r\nconst RadioButtonsStegComponent = RadioButtonsStegContainer();\r\nconst NumberInputStegComponent = NumberInputStegContainer();\r\n\r\ntype AppProps = AppOwnProps & MapStateToProps & MapDispatchToProps;\r\n\r\nReactModal.setAppElement(document.getElementById(Ids.AppContainerId) as HTMLElement);\r\n\r\ninterface AppState {\r\n}\r\n\r\nclass App extends React.Component {\r\n constructor(props: AppProps) {\r\n super(props);\r\n this.state = {\r\n };\r\n }\r\n\r\n private maksSkolepenger(state: ValgTypes.ValgState, resultat: ResultatValg, satser: StamdataNordenHelgradModel | null) {\r\n if(satser === null)\r\n return 0;\r\n\r\n if(state.aVarighet?.value === VarighetTypeValg.a1_hele) {\r\n return satser.SATS_ST01_SKOLEPENGESTOTTE_MAKS_PER_AR_NORDEN;\r\n } else {\r\n return satser.SATS_ST01_SKOLEPENGESTOTTE_MAKS_PER_AR_NORDEN / 2;\r\n }\r\n }\r\n\r\n render(): JSX.Element {\r\n const { valg, dispatchUpdateValg, dispatchUpdateValidering, epiContext, satser, resultat } = this.props;\r\n const { epiModel, locale, valuta } = this.props.epiContext;\r\n\r\n function registerSiteImproveEvents(): void {\r\n if(!SiteImproveState.Startet) {\r\n if(valg.aVarighet != undefined) {\r\n //veileder påstartet\r\n SiteImproveState.Startet = true;\r\n SiteImproveHandler.registerSiteImproveEvent(SiteImproveKategorier.Veileder, SiteImproveEvents.VeilederStart, SiteImproveHandler.hentOverskrift());\r\n }\r\n }\r\n\r\n if(!SiteImproveState.Fullfort) {\r\n if(resultat.visBoksD) {\r\n //veileder fullført\r\n SiteImproveState.Fullfort = true;\r\n SiteImproveHandler.registerSiteImproveEvent(SiteImproveKategorier.Veileder, SiteImproveEvents.VeilederFullfort, SiteImproveHandler.hentOverskrift());\r\n }\r\n }\r\n }\r\n\r\n if (epiContext.epiModelFeilet) {\r\n return ;\r\n }\r\n\r\n if (epiModel != null) {\r\n\r\n return (\r\n
\r\n
\r\n {registerSiteImproveEvents()}\r\n ): void => {\r\n dispatchUpdateValg({ aVarighet: nyttValg });\r\n }}\r\n neverCollapse={true}\r\n classModifier=\"c-veileder__panel--input-white\"\r\n value={valg.aVarighet}\r\n />\r\n {resultat.visBoksB && (\r\n ): void => {\r\n dispatchUpdateValg({ bBetale: nyttValg });\r\n }}\r\n value={valg.bBetale}\r\n />\r\n )}\r\n {resultat.visBoksBx && (\r\n ): void => {\r\n dispatchUpdateValg({ bBetale: nyttValg });\r\n }}\r\n value={valg.bBetale}\r\n />\r\n )}\r\n {resultat.visBoksC && (\r\n this.skolepengerBoks(\r\n valg,\r\n resultat,\r\n locale,\r\n valuta,\r\n dispatchUpdateValg,\r\n dispatchUpdateValidering,\r\n epiContext,\r\n satser\r\n ) \r\n )}\r\n {resultat.visBoksD && (\r\n {\r\n dispatchUpdateValg({visBetPlan: visPlanen});\r\n }}\r\n />\r\n )}\r\n {resultat.visBetPlan && \r\n (\r\n \r\n )\r\n }\r\n
\r\n
\r\n )\r\n } else {\r\n return
Laster...
;\r\n }\r\n }\r\n\r\n private skolepengerBoks(\r\n valg: ValgTypes.ValgState,\r\n resultat: ResultatValg,\r\n locale: string,\r\n valuta: string,\r\n dispatchUpdateValg: (newValg: Partial) => void,\r\n dispatchUpdateValidering: (result: Partial) => void,\r\n epiContext: EpiContext,\r\n satser: StamdataNordenHelgradModel | null,\r\n ): React.ReactNode {\r\n const maxSkolepenger = this.maksSkolepenger(valg, resultat, satser);\r\n const skolepengerInfoKey = this.skolepengerInfo(valg);\r\n const infoElement = (\r\n
\r\n

\r\n {contentResolver(epiContext, skolepengerInfoKey)}\r\n {this.tilPengerFormat(maxSkolepenger, locale)} {valuta}.\r\n

\r\n {contentResolver(epiContext, 'skolepengerInfoBelop')}\r\n
\r\n );\r\n\r\n const formatter: NumberFormatter = {\r\n toFormattetString: (v: number): string => this.tilPengerFormat(v, locale),\r\n toParsableAsNumber: (v: string): string => this.fraPengerFormat(v, locale),\r\n };\r\n\r\n return (\r\n {\r\n dispatchUpdateValg({ cSkolepengerBelop: nyttValg });\r\n }}\r\n onValidationChanged={(result: ValideringsResultat | undefined): void =>\r\n dispatchUpdateValidering({ cValidation: result })\r\n }\r\n preValidation={resultat.cValidation}\r\n validationChecksum={maxSkolepenger}\r\n />\r\n );\r\n }\r\n\r\n private skolepengerInfo = (state: ValgTypes.ValgState): keyof VeilederNordenDto => {\r\n if (state.aVarighet?.value === VarighetTypeValg.a1_hele) {\r\n return 'skolepengerMaksFulltidHeltAr';\r\n } \r\n \r\n if (state.aVarighet?.value === VarighetTypeValg.a2_host || state.aVarighet?.value === VarighetTypeValg.a3_vaar) {\r\n return 'skolepengerMaksFulltidHalvtAr';\r\n }\r\n \r\n return 'skolepengerFeil';\r\n };\r\n\r\n private tilPengerFormat = (verdi: number, locale: string): string => {\r\n return new Intl.NumberFormat(locale, {\r\n style: 'decimal',\r\n maximumFractionDigits: 0,\r\n }).format(verdi);\r\n };\r\n \r\n private fraPengerFormat = (formatertSomPenger: string, locale: string): string => {\r\n if (locale.startsWith('en')) {\r\n // Fjerner tusenskilletegn , og spaces\r\n return formatertSomPenger.replace(/\\s+|,+/g, '');\r\n }\r\n \r\n // for nn-NO og nb-NO er tusenskilletegn mellomrom\r\n return formatertSomPenger.replace(/\\s+/g, '');\r\n };\r\n\r\n private skolepengerValidering = (maxVerdi: number, locale: string): NumberValidering => {\r\n return {\r\n min: 0,\r\n max: maxVerdi,\r\n minFeil: 'skolepengerObsMeldingMin',\r\n maxFeil: 'skolepengerObsMeldingMax',\r\n variablesMap: new Map([['${belop}', this.tilPengerFormat(maxVerdi, locale)]]),\r\n };\r\n };\r\n}\r\n\r\nexport interface ValideringsResultat {\r\n isValid: boolean;\r\n isWarning: boolean;\r\n feilElement: JSX.Element | null;\r\n}\r\n\r\ninterface MapStateToProps {\r\n valg: ValgTypes.ValgState;\r\n epiContext: EpiContext;\r\n resultat: ResultatValg;\r\n satser: StamdataNordenHelgradModel | null;\r\n}\r\n\r\ninterface MapDispatchToProps {\r\n dispatchUpdateValg: (newValg: Partial) => void;\r\n dispatchUpdateValidering: (validation: Partial) => void;\r\n}\r\n\r\nconst mapDispatchToProps = (dispatch: ThunkDispatch): MapDispatchToProps => ({\r\n dispatchUpdateValg: (newValg: Partial): void => {\r\n dispatch(updateValg(newValg));\r\n dispatch(updateVisning());\r\n },\r\n dispatchUpdateValidering: (validation: Partial): void => {\r\n dispatch(updateValidation(validation));\r\n dispatch(updateVisning());\r\n },\r\n});\r\n\r\nconst mapStateToProps = (state: VeilederNordenAppState): MapStateToProps => ({\r\n valg: state.valg,\r\n epiContext: state.epiContext,\r\n resultat: state.resultat,\r\n satser: state.satser,\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(App);","import { ValgStateActionTypes, ValgState, UPDATE_VALG } from './Types';\r\n\r\nexport const initialState: ValgState = {\r\n aVarighet: undefined,\r\n bBetale: undefined,\r\n cSkolepenger: undefined,\r\n cSkolepengerBelop: undefined,\r\n visBetPlan: false,\r\n};\r\n\r\nexport function valgReducer(state: ValgState = initialState, action: ValgStateActionTypes): ValgState {\r\n const newState = getNewState();\r\n return newState;\r\n\r\n function getNewState(): ValgState {\r\n switch (action.type) {\r\n case UPDATE_VALG: {\r\n if (action.payload.aVarighet) {\r\n return {\r\n ...initialState,\r\n ...action.payload,\r\n };\r\n } else {\r\n return {\r\n ...state,\r\n ...action.payload,\r\n };\r\n }\r\n }\r\n default:\r\n return state;\r\n }\r\n }\r\n}\r\n","import { ResultatValg, SET_VISNING, ResultatActionTypes, UPDATE_VALIDERING } from './Types';\r\nimport { ValgStateActionTypes } from '../Valg/Types';\r\n\r\nconst initialState: ResultatValg = {\r\n visBoksB: false,\r\n visBoksBx: false,\r\n visBoksC: false,\r\n visBoksD: false,\r\n visBetPlan: false,\r\n visGenerellFeil: false,\r\n};\r\n\r\nexport function resultatReducer(\r\n state: ResultatValg = initialState,\r\n action: ValgStateActionTypes | ResultatActionTypes,\r\n): ResultatValg {\r\n switch (action.type) {\r\n case SET_VISNING: {\r\n return {\r\n ...state,\r\n ...action.payload,\r\n };\r\n }\r\n case UPDATE_VALIDERING: {\r\n return {\r\n ...state,\r\n ...action.payload,\r\n };\r\n }\r\n default:\r\n return state;\r\n }\r\n}\r\n","import { StamdataNordenHelgradModel } from '../../Models/StamdataNordenHelgradModel';\r\n\r\nexport const SET_SATSER = 'SET_SATSER';\r\n\r\nexport interface SetSatserAction {\r\n type: typeof SET_SATSER;\r\n payload: StamdataNordenHelgradModel;\r\n}\r\n\r\nexport type SatserActionTypes = SetSatserAction;","import { SET_SATSER, SatserActionTypes } from './Types';\r\nimport { StamdataNordenHelgradModel } from '../../Models/StamdataNordenHelgradModel';\r\n\r\nconst initialState: StamdataNordenHelgradModel | null = null;\r\n\r\nexport function satserReducer(state: StamdataNordenHelgradModel | null = initialState, action: SatserActionTypes): StamdataNordenHelgradModel | null {\r\n switch (action.type) {\r\n case SET_SATSER: {\r\n return action.payload;\r\n }\r\n default:\r\n return state;\r\n }\r\n}\r\n","import ReduxThunk from 'redux-thunk';\r\nimport { createStore, combineReducers, Store, applyMiddleware } from 'redux';\r\nimport { EpiContext, UpdateEpiContextActionTypes } from '../../Shared/Scripts/Store/EpiContext/Types';\r\nimport { epiContextReducer } from '../../Shared/Scripts/Store/EpiContext/Reducers';\r\nimport { stegVisningReducer } from '../../Shared/Scripts/Store/StegVisning/Reducers';\r\nimport { EpiAppStateMedSteg } from '../../Shared/Scripts/Store/Types';\r\nimport VeilederNordenDto from '../Models/VeilederNordenDto';\r\nimport { valgReducer } from './Valg/Reducers';\r\nimport { resultatReducer } from './Resultat/Reducers';\r\nimport { satserReducer } from './Satser/Reducers';\r\n\r\nconst rootReducer = combineReducers({\r\n valg: valgReducer,\r\n epiContext: (\r\n state: EpiContext | undefined,\r\n action: UpdateEpiContextActionTypes,\r\n ): EpiContext => epiContextReducer(state, action),\r\n stegVisning: stegVisningReducer,\r\n resultat: resultatReducer,\r\n satser: satserReducer, \r\n});\r\n\r\nexport type VeilederNordenAppState = EpiAppStateMedSteg & {\r\n valg: ReturnType;\r\n resultat: ReturnType;\r\n satser: ReturnType; \r\n};\r\n\r\nexport default function configureStore(): Store {\r\n return createStore(rootReducer, applyMiddleware(ReduxThunk));\r\n}","import axios, { AxiosResponse } from 'axios';\r\n\r\nexport const getSatser = (): Promise> => {\r\n return axios.get('/api/mt1535/satser/nordenhelgrad');\r\n};\r\n\r\nexport interface StamdataNordenHelgradModel {\r\n SATS_ST01_MAKS_BASISSTOTTE_DAG: number;\r\n SATS_ST01_SKOLEPENGESTOTTE_MAKS_PER_AR_NORDEN: number;\r\n}","import { SET_SATSER, SetSatserAction } from './Types';\r\nimport { StamdataNordenHelgradModel } from '../../Models/StamdataNordenHelgradModel';\r\n\r\nexport function setSatser(satser: StamdataNordenHelgradModel): SetSatserAction {\r\n return {\r\n type: SET_SATSER,\r\n payload: satser,\r\n };\r\n}","import React from 'react';\r\nimport { createRoot } from 'react-dom/client';\r\nimport { Provider } from 'react-redux';\r\nimport App from './App';\r\nimport { AxiosResponse } from 'axios';\r\nimport configureStore from './Store';\r\nimport InitEpiMessages from '../Shared/Scripts/Utilities/EpiMessages';\r\nimport { updateLanguage } from '../Shared/Scripts/Store/EpiContext/Actions';\r\nimport { epiResolveLanguage } from '../Shared/Scripts/Utilities/EpiResolveLanguage';\r\nimport { AppContainerId } from './Models/Ids';\r\nimport * as StamdataNordenHelgradModel from './Models/StamdataNordenHelgradModel';\r\nimport { setSatser } from './Store/Satser/Actions';\r\nimport { setVisning } from './Store/Resultat/Actions';\r\n\r\nconst store = configureStore();\r\nstore.dispatch(updateLanguage(epiResolveLanguage()));\r\n\r\nconst container = document.getElementById(AppContainerId);\r\n\r\nif (container != null) {\r\n const root = createRoot(container!);\r\n const contentLink = container.attributes['data-content'].value as string;\r\n InitEpiMessages(store, contentLink);\r\n\r\n StamdataNordenHelgradModel.getSatser()\r\n .then((response: AxiosResponse): void => {\r\n store.dispatch(setSatser(response.data));\r\n })\r\n .catch((reason: any): void => {\r\n store.dispatch(setVisning({ visGenerellFeil: true }));\r\n });\r\n\r\n const AppRoot = (): JSX.Element => (\r\n \r\n \r\n \r\n );\r\n\r\n root.render();\r\n}"],"names":["BetaleTypeValg","useState","useEffect","contentResolver","jsxs","jsx","UtbetalingDetaljerComponent","Ids.AppContainerId","Ids.BoksA","VarighetValg","Ids.BoksB","Resultat","UtbetalingComponent","Ids.BoksC","initialState","ReduxThunk","createRoot","StamdataNordenHelgradModel.getSatser","App"],"mappings":"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"}