Skip to content
Snippets Groups Projects
Select Git revision
  • cd90f1daa09ef26d2fb07b45bf084ca96d1aff94
  • master default protected
  • 365-ouvrir-l-onglet-employeur-ou-taxes-carburant-quand-c-est-le-cas-pour-un-dispositif
  • 381-pb-affichage-labels-des-parametres-sur-plus-de-3-lignes
  • ajoute-duplicate-aide-logement
  • poc_castype_ia
  • parametres-editables-budget
  • ui-parametres
  • 366-signe-a-cote-du-droit-en-vigueur-sur-l-ui-pour-indiquer-que-la-reforme-a-eu-lieu-mais-qu-elle-n
  • 355-les-dispositifs-prestations-sociales-du-graphique-se-cachent-montrent-en-meme-temps-2
  • 358-les-variables-dont-le-montant-est-nul-apparaissent-en-bleu-et-non-cliquables
  • 356-ajuster-la-largeur-sur-les-graphiques-budgetaires
  • incoherence_cas_type_0
  • fix-ui-suppression-tranches-baremes
  • ajout-agregat-cehr-version-plf
  • impact_carbone
  • xlsx
  • header_revamp
  • 270-concevoir-la-page-d-accueil-leximpact
  • 219-conversion-des-montants-min-et-max-de-l-axe-des-x-en-smic
  • 294-afficher-le-salaire-des-cas-types-en-nombre-de-smic
  • 0.0.1124
  • 0.0.1123
  • 0.0.1122
  • 0.0.1121
  • 0.0.1120
  • 0.0.1119
  • 0.0.1118
  • 0.0.1117
  • 0.0.1116
  • 0.0.1115
  • 0.0.1114
  • 0.0.1113
  • 0.0.1112
  • 0.0.1111
  • 0.0.1110
  • 0.0.1109
  • 0.0.1108
  • 0.0.1107
  • 0.0.1106
  • 0.0.1105
41 results

simulation.svelte

Blame
  • 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)