Select Git revision
simulation.svelte
-
Permettre de retourner au simulateur affaires sociales depuis la nav bar en cliquant sur le logo "LexImpact affaires sociales"
Permettre de retourner au simulateur affaires sociales depuis la nav bar en cliquant sur le logo "LexImpact affaires sociales"
simulation.svelte 21.10 KiB
<script lang="ts">
import { getContext, setContext } from "svelte"
import type { Writable } from "svelte/store"
import { writable } from "svelte/store"
import Sockette from "sockette"
import { browser } from "$app/env"
import { goto } from "$app/navigation"
import { page, session } from "$app/stores"
import { validateSimulationQuery } from "$lib/auditors/queries"
import type { ValidSimulationQuery } from "$lib/calculations"
import { newSimulationUrl } from "$lib/calculations"
import TestCaseEdit from "$lib/components/test_cases/TestCaseEdit.svelte"
import TestCasesPane from "$lib/components/test_cases/TestCasesPane.svelte"
import VariableReferredInputsPane from "$lib/components/variables/VariableReferredInputsPane.svelte"
import VariableReferredParametersPane from "$lib/components/variables/VariableReferredParametersPane.svelte"
import type { DecompositionByName } from "$lib/decompositions"
import { updateEvaluations } from "$lib/decompositions"
import type { ReformChange } from "$lib/reforms"
import type { Axis, Situation, SituationComplement } from "$lib/situations"
import type { SelfTargetAProps } from "$lib/urls"
type EditionMode =
| {
mode: "variable_parameters"
variableName: string
}
| {
mode: "test_case"
testCaseIndex: number
}
| {
mode: "test_case_with_variable_inputs"
testCaseIndex: number
variableName: string
}
| null
const adaptAmountsScale = writable(true)
setContext("adaptAmountsScale", adaptAmountsScale)
let axes: Axis[][] = []
let editionMode: EditionMode = null
const date = new Date().toISOString().split("T")[0]
const decompositionByName = getContext(
"decompositionByName",
) as Writable<DecompositionByName>
const decompositionsName = getContext("decompositionsName") as string[]
let deltaByName: { [name: string]: number[] } = {}
setContext("newSelfTargetAProps", newSelfTargetAProps)
const reform = getContext("reform") as Writable<ReformChange>
const showNulls = writable(false)
setContext("showNulls", showNulls)
const simulationRequested = getContext(
"simulationRequested",
) as Writable<boolean>
let situation: Situation | undefined = undefined
const situationComplement = getContext(
"situationComplement",
) as Writable<SituationComplement>
const situationCore = getContext("situationCore") as Writable<Situation>
const testCases = getContext("testCases") as Writable<Situation[]>
let vectorIndex = 0
let vectorLength = 1
let webSocket: Sockette | undefined = undefined
let webSocketOpen = false
let year = 2021
$: query = ensureValidQuery($page.query)
$: action = writable(query.action)