Skip to content

Commit

Permalink
front: stop heating the room when selecting a train
Browse files Browse the repository at this point in the history
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 <[email protected]>
  • Loading branch information
emersion committed Feb 17, 2025
1 parent 86a033a commit a6ccb06
Showing 1 changed file with 25 additions and 23 deletions.
Original file line number Diff line number Diff line change
@@ -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 {
Expand Down Expand Up @@ -55,30 +55,32 @@ const SimulationResultExport = ({
[simulatedTrain]
);

const exportTrainPDF = useCallback(async () => {
const doc = (
<SimulationReportSheetScenario
path={path}
scenarioData={scenarioData}
trainData={simulationSheetData}
operationalPointsList={operationalPoints}
mapCanvas={mapCanvas}
/>
);
const blob = await pdf(doc).toBlob();
const url = URL.createObjectURL(blob);
window.open(url, '_blank');
URL.revokeObjectURL(url);
}, [path, scenarioData, simulationSheetData, operationalPoints, mapCanvas]);

return (
<div className="simulation-sheet-container">
{/* Export simulation PDF */}
<BlobProvider
document={
<SimulationReportSheetScenario
path={path}
scenarioData={scenarioData}
trainData={simulationSheetData}
operationalPointsList={operationalPoints}
mapCanvas={mapCanvas}
/>
}
>
{({ url }) => (
<Button
onClick={() => window.open(url!, '_blank')}
variant="Quiet"
label={t('simulationSheet')}
size="medium"
leadingIcon={<File />}
/>
)}
</BlobProvider>
<Button
onClick={exportTrainPDF}
variant="Quiet"
label={t('simulationSheet')}
size="medium"
leadingIcon={<File />}
/>

{/* Export simulation CSV */}
<Button
Expand Down

0 comments on commit a6ccb06

Please sign in to comment.