From ef038d3b4e410dd4f3d330ccf3c7de43cc35d26a Mon Sep 17 00:00:00 2001 From: Simon Ser Date: Mon, 17 Feb 2025 14:45:02 +0100 Subject: [PATCH] front: stop heating the room when selecting a train Spring is coming. We were generating the PDF report (rendering and all) each time a train was selected. Instead, only generate the PDF when the user clicks the download button. Signed-off-by: Simon Ser --- .../SimulationResultsExport.tsx | 48 ++++++++++--------- 1 file changed, 25 insertions(+), 23 deletions(-) diff --git a/front/src/modules/simulationResult/SimulationResultExport/SimulationResultsExport.tsx b/front/src/modules/simulationResult/SimulationResultExport/SimulationResultsExport.tsx index 007dc287caa..5c3e086eaef 100644 --- a/front/src/modules/simulationResult/SimulationResultExport/SimulationResultsExport.tsx +++ b/front/src/modules/simulationResult/SimulationResultExport/SimulationResultsExport.tsx @@ -1,8 +1,8 @@ -import { useMemo } from 'react'; +import { useCallback, useMemo } from 'react'; import { Button } from '@osrd-project/ui-core'; import { Download, File } from '@osrd-project/ui-icons'; -import { BlobProvider } from '@react-pdf/renderer'; +import { pdf } from '@react-pdf/renderer'; import { useTranslation } from 'react-i18next'; import type { @@ -55,30 +55,32 @@ const SimulationResultExport = ({ [simulatedTrain] ); + const exportTrainPDF = useCallback(async () => { + const doc = ( + + ); + const blob = await pdf(doc).toBlob(); + const url = URL.createObjectURL(blob); + window.open(url, '_blank'); + URL.revokeObjectURL(url); + }, [path, scenarioData, simulationSheetData, operationalPoints, mapCanvas]); + return (
{/* Export simulation PDF */} - - } - > - {({ url }) => ( -