diff --git a/src/lib/components/impacts_view/test_cases_view/test_case_selected/LinkedVariables.svelte b/src/lib/components/impacts_view/test_cases_view/test_case_selected/LinkedVariables.svelte index ad43d56f582f853dc03625614b5ec2a276f8e478..80c776c75a9001a6a13954e877401bcb958b3aa2 100644 --- a/src/lib/components/impacts_view/test_cases_view/test_case_selected/LinkedVariables.svelte +++ b/src/lib/components/impacts_view/test_cases_view/test_case_selected/LinkedVariables.svelte @@ -46,23 +46,10 @@ displayMode.parametersVariableName! ] - const linkedVariablesList = - variableSummary !== undefined - ? [ - variableSummary.linked_output_variables?.filter( - (variableName) => - !variableSummary.linked_added_variables?.includes(variableName), - ), - variableSummary.linked_other_variables?.filter( - (variableName) => - !variableSummary.linked_added_variables?.includes(variableName) && - !variableSummary.linked_output_variables?.includes(variableName), - ), - ].filter((value) => value !== undefined && value.length > 0) - : undefined + const linkedVariables = variableSummary.linked_other_variables </script> -{#if linkedVariablesList !== undefined && linkedVariablesList.length > 0} +{#if linkedVariables !== undefined} <div class="fond flex px-4"> <!--Indentation pour chaque niveau de l'arbre, illustré par une bordure--> {#each iterToDepth(depth)} @@ -92,61 +79,59 @@ class="mb-2 flex w-full grow flex-col justify-end lg:flex-row" id="situation_{situationIndex}_totalimpact" > - {#each linkedVariablesList as linkedVariables} - <div class="flex w-full grow py-3 pl-5"> - {#if linkedVariables !== undefined && linkedVariables.length > 0} - {@const linkedVariablesValueByCalculationName = - linkedVariables.map((name) => - variableValueByCalculationNameFromEvaluation( - evaluationByName[name], - revaluationName, - billName, - shared.parametricReform, - ), - )} - {#if shared.showNulls || !linkedVariablesValueByCalculationName.every(isNullVariableValueByCalculationName)} - <ul - class="flex h-fit flex-col rounded-md border bg-white p-2 text-gray-800" - > - {#each linkedVariables as linkedVariableName, index} - {@const linkedVariableValueByCalculationName = - linkedVariablesValueByCalculationName[index]} - {#if shared.showNulls || !isNullVariableValueByCalculationName(linkedVariableValueByCalculationName)} - {@const linkedVariableSummary = - billName === undefined - ? variableSummaryByName[linkedVariableName] - : variableSummaryByNameByReformName[billName][ - linkedVariableName - ]} - <li class="flex justify-between gap-2 text-sm"> - <a - class="2xl:text-md max-w-32 cursor-pointer overflow-x-hidden text-ellipsis text-nowrap hover:underline sm:max-w-none lg:max-w-44 xl:max-w-none" - href={newSimulationUrl({ - ...displayMode, - parametersVariableName: linkedVariableName, - })} - data-sveltekit-noscroll - ><span class="text-gray-600" - >{linkedVariableSummary.short_label ?? - linkedVariableSummary.label ?? - linkedVariableName} : </span - ></a - > - <VariableValueChange - {evaluationByName} - name={linkedVariableName} - valueByCalculationName={linkedVariableValueByCalculationName} - inline - bold - /> - </li> - {/if} - {/each} - </ul> - {/if} + <div class="flex w-full grow py-3 pl-5"> + {#if linkedVariables !== undefined} + {@const linkedVariablesValueByCalculationName = linkedVariables.map( + (name) => + variableValueByCalculationNameFromEvaluation( + evaluationByName[name], + revaluationName, + billName, + shared.parametricReform, + ), + )} + {#if shared.showNulls || !linkedVariablesValueByCalculationName.every(isNullVariableValueByCalculationName)} + <ul + class="flex h-fit flex-col rounded-md border bg-white p-2 text-gray-800" + > + {#each linkedVariables as linkedVariableName, index} + {@const linkedVariableValueByCalculationName = + linkedVariablesValueByCalculationName[index]} + {#if shared.showNulls || !isNullVariableValueByCalculationName(linkedVariableValueByCalculationName)} + {@const linkedVariableSummary = + billName === undefined + ? variableSummaryByName[linkedVariableName] + : variableSummaryByNameByReformName[billName][ + linkedVariableName + ]} + <li class="flex justify-between gap-2 text-sm"> + <a + class="2xl:text-md max-w-32 cursor-pointer overflow-x-hidden text-ellipsis text-nowrap hover:underline sm:max-w-none lg:max-w-44 xl:max-w-none" + href={newSimulationUrl({ + ...displayMode, + parametersVariableName: linkedVariableName, + })} + data-sveltekit-noscroll + ><span class="text-gray-600" + >{linkedVariableSummary.short_label ?? + linkedVariableSummary.label ?? + linkedVariableName} : </span + ></a + > + <VariableValueChange + {evaluationByName} + name={linkedVariableName} + valueByCalculationName={linkedVariableValueByCalculationName} + inline + bold + /> + </li> + {/if} + {/each} + </ul> {/if} - </div> - {/each} + {/if} + </div> </div> </div> </div> diff --git a/src/lib/decompositions.ts b/src/lib/decompositions.ts index 352b68579b47edfce682d3086c015b0d5d796355..0194c0ca6764b7b3e0ea664f46d7fdb4eb444b17 100644 --- a/src/lib/decompositions.ts +++ b/src/lib/decompositions.ts @@ -1532,17 +1532,6 @@ function extractLinkedVariablesName( if (variableSummary === undefined) { console.warn("Unknown variable in extractLinkedVariablesName():", name) } - for (const linkedVariableName of variableSummary?.linked_added_variables ?? - []) { - if (!linkedVariablesName.has(linkedVariableName)) { - linkedVariablesName.add(linkedVariableName) - extractLinkedVariablesName( - linkedVariablesName, - linkedVariableName, - variableSummaryByName, - ) - } - } for (const linkedVariableName of variableSummary?.linked_other_variables ?? []) { if (!linkedVariablesName.has(linkedVariableName)) { @@ -1554,17 +1543,6 @@ function extractLinkedVariablesName( ) } } - for (const linkedVariableName of variableSummary?.linked_output_variables ?? - []) { - if (!linkedVariablesName.has(linkedVariableName)) { - linkedVariablesName.add(linkedVariableName) - extractLinkedVariablesName( - linkedVariablesName, - linkedVariableName, - variableSummaryByName, - ) - } - } } function extractWithLinkedVariableNames( @@ -1586,18 +1564,10 @@ function extractWithLinkedVariableNames( if (!variableNames.includes(name)) { variableNames.push(name) const variableSummary = variableSummaryByName[name] - for (const linkedVariableName of variableSummary?.linked_added_variables ?? - []) { - linkedVariableNames.add(linkedVariableName) - } for (const linkedVariableName of variableSummary?.linked_other_variables ?? []) { linkedVariableNames.add(linkedVariableName) } - for (const linkedVariableName of variableSummary?.linked_output_variables ?? - []) { - linkedVariableNames.add(linkedVariableName) - } } } } @@ -1638,18 +1608,10 @@ function extractNonVirtualVariablesName( if (!decomposition.virtual && !nonVirtualVariablesName.includes(name)) { nonVirtualVariablesName.push(name) const variableSummary = variableSummaryByName[name] - for (const linkedVariableName of variableSummary.linked_added_variables ?? - []) { - linkedVariablesName.add(linkedVariableName) - } for (const linkedVariableName of variableSummary.linked_other_variables ?? []) { linkedVariablesName.add(linkedVariableName) } - for (const linkedVariableName of variableSummary.linked_output_variables ?? - []) { - linkedVariablesName.add(linkedVariableName) - } } } }