Select Git revision
TestCaseView.svelte
TestCaseView.svelte 14.83 KiB
<script lang="ts">
import type { EntityByKey, Variable } from "@openfisca/ast"
import { createEventDispatcher, tick } from "svelte"
import { session } from "$app/stores"
import ScholarWaterfall from "$lib/components/scholar_waterfalls/ScholarWaterfall.svelte"
import type { DecompositionByName } from "$lib/decompositions"
import { walkDecompositionsCoreName } from "$lib/decompositions"
import type { Axis, Situation } from "$lib/situations"
import PictoArbreMetropole from "../pictos/PictoArbreMetropole.svelte"
import PictoEntreprise from "$lib/components/pictos/PictoEntreprise.svelte"
import PictoFemme from "$lib/components/pictos/PictoFemme.svelte"
import PictoEnfant from "$lib/components/pictos/PictoEnfant.svelte"
import PictoEtat from "$lib/components/pictos//PictoEtat.svelte"
// import PictoNombreSalaries from $lib/components/pictos/PictoNombreSalaries.svelte"
import type { AxisDescription } from "$lib/situations"
import {
getSituationVariableValue,
iterSituationVariablesName,
setSituationVariableValue,
} from "$lib/situations"
import { retrieveVariableSummaryByName } from "$lib/variables"
export let decompositionByName: DecompositionByName
// export let index: number
export let open: boolean
export let situation: Situation
export let vectorIndex: number
export let year: number
const entityByKey = $session.entityByKey as EntityByKey
const euroAmountFormatter = new Intl.NumberFormat("fr-FR", {
currency: "EUR",
maximumFractionDigits: 0,
minimumFractionDigits: 0,
style: "currency",
})
let axisDescription: AxisDescription | null = null
const dispatch = createEventDispatcher()
const adulteVariablesName = ["salaire_de_base"]
const childrenKey = $session.childrenKey
const enfantVariablesName = ["age"]
const familyEntity = entityByKey[$session.familyEntityKey]
let inited = false
const personEntity = entityByKey[$session.personEntityKey]
const rootDecompositionName = $session.rootDecompositionName
const firstDecompositionName = walkDecompositionsCoreName(
$session.decompositionCoreByName,
rootDecompositionName,
true,
).next().value as string
const variableDefinitionByName = {
age: {
allowSlider: true,
label: "Âge",
max: 150,
min: -1,
},
salaire_de_base: {
allowSlider: true,
label: "Salaire brut",
max: 100_000,
min: 0,
},
}
let variablesName = new Set(Object.keys($session.decompositionCoreByName))
let variableSummaryByName: { [name: string]: Variable } | undefined =
undefined
$: familySituation = situation[familyEntity.key_plural]