diff --git a/webapp/public/locales/en/main.json b/webapp/public/locales/en/main.json index 98dd40ccad..af38707f26 100644 --- a/webapp/public/locales/en/main.json +++ b/webapp/public/locales/en/main.json @@ -40,6 +40,7 @@ "global.upload": "Upload", "global.key": "Key", "global.value": "Value", + "global.number": "Number", "global.emptyString": "Empty string", "global.edit": "Edit", "global.download": "Download", @@ -218,6 +219,36 @@ "study.copyJobId": "Copy the job id", "study.modelization.map.newArea": "New Area", "study.modelization.map.areaName": "Area name", + "study.modelization.links.hurdleCost": "Hurdle costs", + "study.modelization.links.loopFlows": "Loop flows", + "study.modelization.links.pst": "PST", + "study.modelization.links.type": "Type", + "study.modelization.links.transmissionCapa": "Transmission capacities", + "study.modelization.links.transmissionCapa.infinite": "Infinite", + "study.modelization.links.transmissionCapa.ignore": "Ignore", + "study.modelization.links.transmissionCapa.enabled": "Enabled", + "study.modelization.links.type.ac": "AC", + "study.modelization.links.type.dc": "DC", + "study.modelization.links.type.gaz": "Gas", + "study.modelization.links.type.virt": "Virt", + "study.modelization.links.type.other": "Other", + "study.modelization.links.matrix.parameters": "Parameters", + "study.modelization.links.matrix.capacities": "Capacities", + "study.modelization.links.matrix.columns.transCapaDirect": "Trans. capacity direct", + "study.modelization.links.matrix.columns.transCapaIndirect": "Trans. capacity indirect", + "study.modelization.links.matrix.columns.hurdleCostsDirect": "Hurdle costs direct", + "study.modelization.links.matrix.columns.hurdleCostsIndirect": "Hurdle costs indirect", + "study.modelization.links.matrix.columns.inpedances": "Inpedances", + "study.modelization.links.matrix.columns.loopFlow": "Loop flow", + "study.modelization.links.matrix.columns.pShiftMin": "P.Shift Min", + "study.modelization.links.matrix.columns.pShiftMax": "P.Shift Max", + "study.modelization.configuration.general.firstDay": "First day", + "study.modelization.configuration.general.lastDay": "Last day", + "study.modelization.configuration.general.calendar": "Calendar", + "study.modelization.configuration.general.year": "Year", + "study.modelization.configuration.general.week": "Week", + "study.modelization.configuration.general.firstDayOfYear": "1st January", + "study.modelization.configuration.general.leapYear": "Leap year", "study.modelization.nodeProperties.nodalOptimization": "Nodal Optimization", "study.modelization.nodeProperties.energyCost": "Energy cost", "study.modelization.nodeProperties.unsupplied": "Unsupplied", diff --git a/webapp/public/locales/fr/main.json b/webapp/public/locales/fr/main.json index 11aa96d70d..0a1ccc0481 100644 --- a/webapp/public/locales/fr/main.json +++ b/webapp/public/locales/fr/main.json @@ -40,6 +40,7 @@ "global.upload": "Charger", "global.key": "Clé", "global.value": "Valeur", + "global.number": "Nombre", "global.emptyString": "Chaine de caractères vide", "global.edit": "Editer", "global.download": "Télécharger", @@ -218,14 +219,44 @@ "study.copyJobId": "Copier l'identifiant de la tâche", "study.modelization.map.newArea": "Nouvelle zone", "study.modelization.map.areaName": "Nom de la zone", + "study.modelization.links.hurdleCost": "Hurdle costs", + "study.modelization.links.loopFlows": "Loop flows", + "study.modelization.links.pst": "PST", + "study.modelization.links.type": "Type", + "study.modelization.links.transmissionCapa": "Transmission capacities", + "study.modelization.links.transmissionCapa.infinite": "Infinite", + "study.modelization.links.transmissionCapa.ignore": "Ignore", + "study.modelization.links.transmissionCapa.enabled": "Enabled", + "study.modelization.links.type.ac": "AC", + "study.modelization.links.type.dc": "DC", + "study.modelization.links.type.gaz": "Gas", + "study.modelization.links.type.virt": "Virt", + "study.modelization.links.type.other": "Other", + "study.modelization.links.matrix.parameters": "Paramètres", + "study.modelization.links.matrix.capacities": "Capacités", + "study.modelization.links.matrix.columns.transCapaDirect": "Trans. capacity direct", + "study.modelization.links.matrix.columns.transCapaIndirect": "Trans. capacity indirect", + "study.modelization.links.matrix.columns.hurdleCostsDirect": "Hurdle costs direct", + "study.modelization.links.matrix.columns.hurdleCostsIndirect": "Hurdle costs indirect", + "study.modelization.links.matrix.columns.inpedances": "Inpedances", + "study.modelization.links.matrix.columns.loopFlow": "Loop flow", + "study.modelization.links.matrix.columns.pShiftMin": "P.Shift Min", + "study.modelization.links.matrix.columns.pShiftMax": "P.Shift Max", + "study.modelization.configuration.general.firstDay": "Premier jour", + "study.modelization.configuration.general.lastDay": "Dernier jour", + "study.modelization.configuration.general.calendar": "Calendrier", + "study.modelization.configuration.general.year": "Année", + "study.modelization.configuration.general.week": "Semaine", + "study.modelization.configuration.general.firstDayOfYear": "1er Janvier", + "study.modelization.configuration.general.leapYear": "Année bissextile", "study.modelization.nodeProperties.nodalOptimization": "Optimisation nodale", "study.modelization.nodeProperties.energyCost": "Coût de l'énergie", "study.modelization.nodeProperties.unsupplied": "Non distribuée", "study.modelization.nodeProperties.splilled": "Non évacuée", - "study.modelization.nodeProperties.lastResortShedding": "Last resort shedding status", - "study.modelization.nodeProperties.nonDispatchPower": "Non dispatch. power", - "study.modelization.nodeProperties.dispatchHydroPower": "Dispatch hydropower", - "study.modelization.nodeProperties.otherDispatchPower": "Other dispatch power", + "study.modelization.nodeProperties.lastResortShedding": "Moyen de dernier recours pour l'écrêtement", + "study.modelization.nodeProperties.nonDispatchPower": "Production non pilotable", + "study.modelization.nodeProperties.dispatchHydroPower": "Hydrolique pilotable", + "study.modelization.nodeProperties.otherDispatchPower": "Autres productions pilotables", "study.modelization.nodeProperties.outputFilter": "Affichage des sorties", "study.modelization.nodeProperties.filterByYear": "Sorties année par année", "study.modelization.nodeProperties.filterSynthesis": "Sorties de la synthèse", diff --git a/webapp/src/common/types.ts b/webapp/src/common/types.ts index 667591389d..fddd524ae0 100644 --- a/webapp/src/common/types.ts +++ b/webapp/src/common/types.ts @@ -405,6 +405,13 @@ export interface FileStudyTreeConfigDTO { archive_input_series: Array; enr_modelling: string; } +export interface LinkElement { + label: string; + name: string; + area1: string; + area2: string; +} +export type LinkListElement = { [elm: string]: LinkElement }; export enum StudyOutputDownloadType { LINKS = "LINKS", diff --git a/webapp/src/components/common/MatrixInput/index.tsx b/webapp/src/components/common/MatrixInput/index.tsx index 03da3899e3..9e2ccb2fd2 100644 --- a/webapp/src/components/common/MatrixInput/index.tsx +++ b/webapp/src/components/common/MatrixInput/index.tsx @@ -28,11 +28,12 @@ interface PropsType { study: StudyMetadata; url: string; columnsNames?: string[]; + title?: string; computStats: MatrixStats; } function MatrixInput(props: PropsType) { - const { study, url, columnsNames, computStats } = props; + const { study, url, columnsNames, title, computStats } = props; const { enqueueSnackbar } = useSnackbar(); const enqueueErrorSnackbar = useEnqueueErrorSnackbar(); const [t] = useTranslation(); @@ -118,7 +119,7 @@ function MatrixInput(props: PropsType) { lineHeight: 1.334, }} > - {t("xpansion.timeSeries")} + {title || t("xpansion.timeSeries")} {!isLoading && data?.columns?.length > 1 && ( @@ -188,6 +189,7 @@ function MatrixInput(props: PropsType) { MatrixInput.defaultProps = { columnsNames: undefined, + title: undefined, }; export default MatrixInput; diff --git a/webapp/src/components/common/fieldEditors/SelectFE.tsx b/webapp/src/components/common/fieldEditors/SelectFE.tsx index 52ee994017..4caf24cb28 100644 --- a/webapp/src/components/common/fieldEditors/SelectFE.tsx +++ b/webapp/src/components/common/fieldEditors/SelectFE.tsx @@ -1,5 +1,6 @@ import { FormControl, + FormControlProps, FormHelperText, InputLabel, MenuItem, @@ -22,6 +23,7 @@ export interface SelectFEProps options: Array; helperText?: React.ReactNode; emptyValue?: boolean; + formControlProps?: FormControlProps; } function formatOptions( @@ -39,6 +41,7 @@ const SelectFE = forwardRef((props: SelectFEProps, ref) => { helperText, emptyValue, variant = "filled", + formControlProps, ...selectProps } = props; const { label } = selectProps; @@ -51,7 +54,7 @@ const SelectFE = forwardRef((props: SelectFEProps, ref) => { ); return ( - + {label}