diff --git a/src/lib/components/parameters/NodeEdit.svelte b/src/lib/components/parameters/NodeEdit.svelte index 09c25157fcde310e90058d092ecd49d5886539b9..b1068d9a205ff2d244200dc2cfb5c5405819645a 100644 --- a/src/lib/components/parameters/NodeEdit.svelte +++ b/src/lib/components/parameters/NodeEdit.svelte @@ -5,7 +5,6 @@ import ReferencesEdit from "$lib/components/parameters/ReferencesEdit.svelte" import { errorAsKeyValueDictionary, iterArrayWithErrors } from "$lib/errors" - import { metadata } from "$lib/metadata" import { labelFromUnit } from "$lib/parameters" let globalErrors: { [key: string]: unknown } @@ -222,7 +221,7 @@ <option selected value={undefined}>Non précisée</option> {/if} {#each Object.values(Unit) as unit} - <option value={unit}>{labelFromUnit(metadata, unit)}</option> + <option value={unit}>{labelFromUnit(unit)}</option> {/each} </select> {#if showErrors && errors.unit !== undefined} diff --git a/src/lib/components/parameters/ParameterView.svelte b/src/lib/components/parameters/ParameterView.svelte index d8585031d7834d065bfeb887ef7031e642c879e7..d4047637b46c1077fd451096d812b6aa69c39901 100644 --- a/src/lib/components/parameters/ParameterView.svelte +++ b/src/lib/components/parameters/ParameterView.svelte @@ -182,9 +182,9 @@ > <td class="border p-1 text-center" >{valueAtInstant.unit !== undefined - ? labelFromUnit(metadata, valueAtInstant.unit) + ? labelFromUnit(valueAtInstant.unit) : parameter.unit !== undefined - ? labelFromUnit(metadata, parameter.unit) + ? labelFromUnit(parameter.unit) : ""}</td > {/if} @@ -225,7 +225,7 @@ {#if parameter.unit !== undefined} <div class="flex border-b my-1 py-1 font-base "> <p class=" mr-1"> - Unité du paramètre : {labelFromUnit(metadata, parameter.unit)} + Unité du paramètre : {labelFromUnit(parameter.unit)} </p> </div> {/if} @@ -237,17 +237,13 @@ </p> {#if parameter.threshold_unit !== undefined} <p class=" mr-1"> - Unité de seuil : {labelFromUnit( - metadata, - parameter.threshold_unit, - )} + Unité de seuil : {labelFromUnit(parameter.threshold_unit)} </p> {/if} {#if isAmountScaleParameter(parameter)} {#if asAmountScaleParameter(parameter).amount_unit !== undefined} <p class=" mr-1"> Unité de montant : {labelFromUnit( - metadata, asAmountScaleParameter(parameter).amount_unit, )} </p> @@ -255,7 +251,6 @@ {:else if asRateScaleParameter(parameter).rate_unit !== undefined} <p class=" mr-1"> Unité de taux : {labelFromUnit( - metadata, asRateScaleParameter(parameter).rate_unit, )} </p> @@ -270,7 +265,7 @@ {#if parameter.unit !== undefined} <div class="flex my-1 py-1 font-base "> <p class=" mr-1"> - Unité de la valeur : {labelFromUnit(metadata, parameter.unit)} + Unité de la valeur : {labelFromUnit(parameter.unit)} </p> </div> {/if} diff --git a/src/lib/components/parameters/ScaleAtInstantEdit.svelte b/src/lib/components/parameters/ScaleAtInstantEdit.svelte index 0897e6527344fbf36faa8e78a4a34ba561152209..f56ddf824640632e5c2c8c152160be5a5d1fbaa4 100644 --- a/src/lib/components/parameters/ScaleAtInstantEdit.svelte +++ b/src/lib/components/parameters/ScaleAtInstantEdit.svelte @@ -17,6 +17,7 @@ import { createEventDispatcher } from "svelte" import { errorAsKeyValueDictionary, iterArrayWithErrors } from "$lib/errors" + import { labelFromUnit } from "$lib/parameters" let globalErrors: { [key: string]: unknown } export { globalErrors as errors } @@ -167,6 +168,9 @@ ? null : bracketAtInstant.threshold?.value ?? null} /> + <span class="font-serif text-base"> + {labelFromUnit(parameter.threshold_unit) ?? ""} + </span> {#if showErrors && errorAsKeyValueDictionary(errorAsKeyValueDictionary(errorsAtIndex).threshold).value !== undefined} <p> {errorAsKeyValueDictionary( @@ -174,9 +178,6 @@ ).value} </p> {/if} - <!--UNITE A CHANGER - <p class="font-serif text-base">€</p> - --> </div> </td> {#if isAmountScale} @@ -194,6 +195,9 @@ asAmountBracketAtInstant(bracketAtInstant).amount, ).value ?? null} /> + <span class="font-serif text-base"> + {labelFromUnit(parameter.amount_unit) ?? ""} + </span> {#if showErrors && errorAsKeyValueDictionary(errorAsKeyValueDictionary(errorsAtIndex).amount).value !== undefined} <p> {errorAsKeyValueDictionary( @@ -201,9 +205,6 @@ ).value} </p> {/if} - <!--UNITE A CHANGER - <p class="font-serif text-base">€</p> - --> </div> </td> {:else} @@ -222,6 +223,10 @@ asRateBracketAtInstant(bracketAtInstant).base, )?.value ?? null} /> + <span class="font-serif text-base"> + <!-- TODO: Should be parameter.base_unit. --> + {labelFromUnit(parameter.threshold_unit) ?? ""} + </span> {#if showErrors && errorAsKeyValueDictionary(errorAsKeyValueDictionary(errorsAtIndex).base).value !== undefined} <p> {errorAsKeyValueDictionary( @@ -229,9 +234,6 @@ ).value} </p> {/if} - <!--UNITE A CHANGER - <p class="font-serif text-base">€</p> - --> </div> </td> {/if} @@ -249,6 +251,9 @@ asRateBracketAtInstant(bracketAtInstant).rate, ).value ?? null} /> + <span class="font-serif text-base"> + {labelFromUnit(parameter.rate_unit) ?? ""} + </span> {#if showErrors && errorAsKeyValueDictionary(errorAsKeyValueDictionary(errorsAtIndex).rate).value !== undefined} <p> {errorAsKeyValueDictionary( @@ -256,9 +261,6 @@ ).value} </p> {/if} - <!--UNITE A CHANGER - <p class="font-serif text-base">€</p> - --> </div> </td> {/if} diff --git a/src/lib/components/parameters/ScaleEdit.svelte b/src/lib/components/parameters/ScaleEdit.svelte index 5c0fbec29fc3555c31655a4ff9fb28259c4f7a00..eb677f057f4b1c1a73c6bd64f9c3d04121c908ff 100644 --- a/src/lib/components/parameters/ScaleEdit.svelte +++ b/src/lib/components/parameters/ScaleEdit.svelte @@ -24,7 +24,6 @@ import ScaleAtInstantEdit from "$lib/components/parameters/ScaleAtInstantEdit.svelte" import { errorAsKeyValueDictionary, iterArrayWithErrors } from "$lib/errors" import { iterToLimit } from "$lib/iterators" - import { metadata } from "$lib/metadata" import { buildInstantReferencesAndScaleArray, labelFromScaleType, @@ -317,7 +316,7 @@ <option selected value={undefined}>Non précisée</option> {/if} {#each Object.values(AmountUnit) as unit} - <option value={unit}>{labelFromUnit(metadata, unit)}</option> + <option value={unit}>{labelFromUnit(unit)}</option> {/each} </select> {#if showErrors && errors.amount_unit !== undefined} @@ -337,7 +336,7 @@ <option selected value={undefined}>Non précisée</option> {/if} {#each Object.values(RateUnit) as unit} - <option value={unit}>{labelFromUnit(metadata, unit)}</option> + <option value={unit}>{labelFromUnit(unit)}</option> {/each} </select> {#if showErrors && errors.rate_unit !== undefined} @@ -390,7 +389,7 @@ <option selected value={undefined}>Non précisée</option> {/if} {#each Object.values(Unit) as unit} - <option value={unit}>{labelFromUnit(metadata, unit)}</option> + <option value={unit}>{labelFromUnit(unit)}</option> {/each} </select> {#if showErrors && errors.threshold_unit !== undefined} diff --git a/src/lib/components/parameters/ValueAtInstantEdit.svelte b/src/lib/components/parameters/ValueAtInstantEdit.svelte index 3c9a6c4b62e1665ad462727acefcb8345fa67111..38de6674e659a96b009bb143b02ab74a87402623 100644 --- a/src/lib/components/parameters/ValueAtInstantEdit.svelte +++ b/src/lib/components/parameters/ValueAtInstantEdit.svelte @@ -17,7 +17,6 @@ import { createEventDispatcher } from "svelte" import { auditEditedAttribute } from "$lib/errors" - import { metadata } from "$lib/metadata" import { labelFromUnit } from "$lib/parameters" import type { MaybeBooleanValue } from "@openfisca/json-model/build/parameters" @@ -132,14 +131,13 @@ > <option value={undefined}> {#if parameter.unit == null}Non précisée{:else}{labelFromUnit( - metadata, parameter.unit, )} {/if}</option > {#each Object.values(Unit) as unit} {#if unit !== parameter.unit} - <option value={unit}>{labelFromUnit(metadata, unit)}</option> + <option value={unit}>{labelFromUnit(unit)}</option> {/if} {/each} </select> diff --git a/src/lib/components/parameters/ValueEdit.svelte b/src/lib/components/parameters/ValueEdit.svelte index 12ab7feab7416015c08b0b13096969f5e9207695..af786ceaecc6367c69e796171abb2e671909845d 100644 --- a/src/lib/components/parameters/ValueEdit.svelte +++ b/src/lib/components/parameters/ValueEdit.svelte @@ -11,7 +11,6 @@ import ValueAtInstantEdit from "$lib/components/parameters/ValueAtInstantEdit.svelte" import { errorAsKeyValueDictionary, iterArrayWithErrors } from "$lib/errors" import { iterToLimit } from "$lib/iterators" - import { metadata } from "$lib/metadata" import { buildInstantReferencesAndValueArray, labelFromValueType, @@ -289,7 +288,7 @@ <option selected value={undefined}>Non précisée</option> {/if} {#each Object.values(Unit) as unit} - <option value={unit}>{labelFromUnit(metadata, unit)}</option> + <option value={unit}>{labelFromUnit(unit)}</option> {/each} </select> {#if showErrors && errors.unit !== undefined} diff --git a/src/lib/components/test_cases/TestCaseView.svelte b/src/lib/components/test_cases/TestCaseView.svelte index 85afa96d2b3f1433a50dbdbe522e71bb4b962760..80d63989babe6549753519c79d3fc47ad2a74725 100644 --- a/src/lib/components/test_cases/TestCaseView.svelte +++ b/src/lib/components/test_cases/TestCaseView.svelte @@ -278,25 +278,20 @@ {/if} <!--Identité de l'entreprise - Element 3 de la grid --> <!-- - <div class="flex h-8"> - <PictoEntreprise /> - <div class="flex space-x-1"> - <div> - <p class="text-xs">100</p> - <p class="text-xs">50</p> + <div class="flex h-8"> + <PictoEntreprise /> + <div class="flex space-x-1"> + <div> + <p class="text-xs">100</p> + <p class="text-xs">50</p> + </div> + <PictoNombreSalaries /> + </div> + <div class="flex"> + <PictoArbreMetropole /> </div> - <PictoNombreSalaries /> - </div> - <div class="flex"> - <PictoArbreMetropole /> </div> - </div> - --> - <!--Element 4 de la grid --> - <!-- <div class="flex gap-x-2 items-baseline"> - <span class="font-light text-sm">Autres revenus :</span> - <span>0 €</span> - </div> --> + --> </div> </div> <div> diff --git a/src/lib/components/variables/VariableReferredScaleAtInstant.svelte b/src/lib/components/variables/VariableReferredScaleAtInstant.svelte index 369ffc8026427371fa0af116141805eb05cd996c..7a2949fd7f8ed0e845e4bd472cd16611527a3fd0 100644 --- a/src/lib/components/variables/VariableReferredScaleAtInstant.svelte +++ b/src/lib/components/variables/VariableReferredScaleAtInstant.svelte @@ -17,6 +17,7 @@ import { createEventDispatcher } from "svelte" import { errorAsKeyValueDictionary, iterArrayWithErrors } from "$lib/errors" + import { labelFromUnit } from "$lib/parameters" import VariableReferredValueEdit from "./VariableReferredValueEdit.svelte" @@ -170,15 +171,9 @@ ? null : bracketAtInstant.threshold?.value ?? null} /> - <!-- <input - class="bg-white text-black hover:bg-le-gris-dispositif-light font-serif text-lg border-b border-l-0 border-r-0 border-t-0 py-0 w-24" - step="any" - type="number" - on:change={(event) => changeValue(index, "threshold", event)} - value={bracketAtInstant.threshold === "expected" - ? null - : bracketAtInstant.threshold?.value ?? null} - /> --> + <span class="font-serif text-base"> + {labelFromUnit(billParameter.threshold_unit) ?? ""} + </span> {#if showErrors && errorAsKeyValueDictionary(errorAsKeyValueDictionary(errorsAtIndex).threshold).value !== undefined} <p> {errorAsKeyValueDictionary( @@ -186,9 +181,6 @@ ).value} </p> {/if} - <!--TODO: UNITE A CHANGER - <p class="font-serif text-base">€</p> - --> </div> </td> {#if isAmountScale} @@ -210,18 +202,9 @@ asAmountBracketAtInstant(bracketAtInstant).amount, ).value ?? null} /> - <!-- <input - class="bg-white text-black hover:bg-le-gris-dispositif-light font-serif text-lg border-b border-l-0 border-r-0 border-t-0 py-0 w-24" - step="any" - type="number" - on:change={(event) => changeValue(index, "amount", event)} - value={asAmountBracketAtInstant(bracketAtInstant).amount === - "expected" - ? null - : asNumberValue( - asAmountBracketAtInstant(bracketAtInstant).amount, - ).value ?? null} - /> --> + <span class="font-serif text-base"> + {labelFromUnit(billParameter.amount_unit) ?? ""} + </span> {#if showErrors && errorAsKeyValueDictionary(errorAsKeyValueDictionary(errorsAtIndex).amount).value !== undefined} <p> {errorAsKeyValueDictionary( @@ -229,9 +212,6 @@ ).value} </p> {/if} - <!--UNITE A CHANGER - <p class="font-serif text-base">€</p> - --> </div> </td> {:else} @@ -254,18 +234,10 @@ asRateBracketAtInstant(bracketAtInstant).base, )?.value ?? null} /> - <!-- <input - class="bg-white text-black font-serif text-lg border-b border-l-0 border-r-0 border-t-0 py-0 w-24" - step="any" - type="number" - on:change={(event) => changeValue(index, "base", event)} - value={asRateBracketAtInstant(bracketAtInstant).base === - "expected" - ? null - : asNumberValue( - asRateBracketAtInstant(bracketAtInstant).base, - )?.value ?? null} - /> --> + <span class="font-serif text-base"> + <!-- TODO: Should be parameter.base_unit. --> + {labelFromUnit(billParameter.threshold_unit) ?? ""} + </span> {#if showErrors && errorAsKeyValueDictionary(errorAsKeyValueDictionary(errorsAtIndex).base).value !== undefined} <p> {errorAsKeyValueDictionary( @@ -273,9 +245,6 @@ ).value} </p> {/if} - <!--UNITE A CHANGER - <p class="font-serif text-base">€</p> - --> </div> </td> {/if} @@ -296,18 +265,10 @@ asRateBracketAtInstant(bracketAtInstant).rate, )?.value ?? null} /> - <!-- <input - class="bg-white text-black font-serif text-lg border-b border-l-0 border-r-0 border-t-0 py-0 w-24 hover:bg-le-gris-dispositif-light" - step="any" - type="number" - on:change={(event) => changeValue(index, "rate", event)} - value={asRateBracketAtInstant(bracketAtInstant).rate === - "expected" - ? null - : asMaybeNumberValue( - asRateBracketAtInstant(bracketAtInstant).rate, - ).value ?? null} - /> --> + <span class="font-serif text-base"> + <!-- TODO: Should be parameter.base_unit. --> + {labelFromUnit(billParameter.rate_unit) ?? ""} + </span> {#if showErrors && errorAsKeyValueDictionary(errorAsKeyValueDictionary(errorsAtIndex).rate).value !== undefined} <p> {errorAsKeyValueDictionary( @@ -315,9 +276,6 @@ ).value} </p> {/if} - <!--UNITE A CHANGER - <p class="font-serif text-base">€</p> - --> </div> </td> {/if} diff --git a/src/lib/components/variables/VariableReferredValueParameter.svelte b/src/lib/components/variables/VariableReferredValueParameter.svelte index e239d691b533608993eb0f884a21fa272ecce130..1c92971bc254ad253fb8a10356177252a2dfa7d5 100644 --- a/src/lib/components/variables/VariableReferredValueParameter.svelte +++ b/src/lib/components/variables/VariableReferredValueParameter.svelte @@ -4,6 +4,7 @@ import type { Writable } from "svelte/store" import type { CalculationName } from "$lib/calculations" + import { labelFromUnit } from "$lib/parameters" import type { ParametricReform, ValueParameterReform } from "$lib/reforms" import { ParameterReformChangeType } from "$lib/reforms" @@ -92,19 +93,17 @@ on:changeValue={changeValue} {value} /> - {#if valueError !== null}<span class="text-red-500">{valueError}</span - >{/if} - </div> - <!-- TODO: Unité à "connecter" avec Openfisca--> - <div> - <p class="text-lg font-serif">€</p> </div> + <span class="font-serif text-base"> + {labelFromUnit(billParameter.unit) ?? ""} + </span> <!--Date du paramètre--> <div class="text-sm mx-2"> <p> depuis {billLatestInstantSplit[1]}/{billLatestInstantSplit[0]} </p> </div> + {#if valueError !== null}<p class="text-red-500">{valueError}</p>{/if} </div> <div class="bg-gray-100 flex items-baseline text-gray-600 text-xs p-2"> diff --git a/src/lib/parameters.ts b/src/lib/parameters.ts index eda32956b5b66c1afeed228d96f4ccb2c2b0b900..1fe41a9a0c7c605460049d6456417277a02c71eb 100644 --- a/src/lib/parameters.ts +++ b/src/lib/parameters.ts @@ -20,6 +20,7 @@ import { walkParameters, } from "@openfisca/json-model" +import { metadata } from "$lib/metadata" import rootParameterUnknown from "$lib/openfisca/editable_processed_parameters.json" import { reformChangesByName } from "$lib/reforms" @@ -154,9 +155,11 @@ export function labelFromScaleType(type: ScaleType | string): string { } export function labelFromUnit( - metadata: Metadata, - unit: AmountUnit | RateUnit | Unit | string, + unit: AmountUnit | RateUnit | Unit | string | null | undefined, ): string { + if (unit == null) { + return undefined + } return ( { [Unit.CodesDepartements]: "code département",