From 5f7b13432c3eba4a27c13a70ba01651bf4fc967d Mon Sep 17 00:00:00 2001 From: mheggelund Date: Thu, 2 May 2024 13:13:38 +0200 Subject: [PATCH] refactor: Improve error messages for model upload and edit. Style progress component. --- .../HandleModelComponent.styled.ts | 14 +++++++ .../HandleModelComponent.tsx | 39 ++++++++++++++++--- 2 files changed, 48 insertions(+), 5 deletions(-) diff --git a/src/features/HandleModel/HandleModelComponent/HandleModelComponent.styled.ts b/src/features/HandleModel/HandleModelComponent/HandleModelComponent.styled.ts index fc53eda8..08b4a6fe 100644 --- a/src/features/HandleModel/HandleModelComponent/HandleModelComponent.styled.ts +++ b/src/features/HandleModel/HandleModelComponent/HandleModelComponent.styled.ts @@ -12,3 +12,17 @@ export const CustomContent = styled.div` flex-direction: column; row-gap: ${spacings.X_LARGE}; `; + +export const UploadDiv = styled.div` + display: flex; + flex-direction: column; + + row-gap: ${spacings.LARGE}; +`; + +export const ErrorDiv = styled.div` + display: flex; + flex-direction: column; + + row-gap: ${spacings.SMALL}; +`; diff --git a/src/features/HandleModel/HandleModelComponent/HandleModelComponent.tsx b/src/features/HandleModel/HandleModelComponent/HandleModelComponent.tsx index 094ed745..6199cb4e 100644 --- a/src/features/HandleModel/HandleModelComponent/HandleModelComponent.tsx +++ b/src/features/HandleModel/HandleModelComponent/HandleModelComponent.tsx @@ -1,7 +1,9 @@ /* eslint-disable max-lines-per-function */ import { Button, LinearProgress, Typography } from '@equinor/eds-core-react'; +import _ from 'lodash'; import { useEffect, useState } from 'react'; import { AnalogueModelDetail } from '../../../api/generated'; +import { ErrorBanner } from '../../../components/ErrorBanner/ErrorBanner'; import { ModelInputFilesTable } from '../ModelInputFilesTable/ModelInputFilesTable'; import { ModelMetadata } from '../ModelMetadata/ModelMetadata'; import { @@ -44,7 +46,6 @@ export const HandleModelComponent = ({ confirm, edit, progress, - // cancel, uploading, defaultMetadata, isEdit, @@ -117,6 +118,23 @@ export const HandleModelComponent = ({ } const INIFileContent = () =>

Not implemented yet...

; + const getErroMessageList = () => { + if (_.isEmpty(errors)) return; + + const errorList: string[] = []; + + Object.keys(errors).forEach(function (key) { + // TODO: Fix the TS error for errors[key] + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore + const message = errors[key]; + errorList.push(message); + }); + return errorList; + }; + + const ErrorList = getErroMessageList(); + return ( @@ -141,9 +159,13 @@ export const HandleModelComponent = ({ metadata={metadata} setMetadata={setMetadata} /> - {Object.keys(errors).includes('file') && ( - NC file missing - )} + + {!_.isEmpty(errors) && + ErrorList !== undefined && + ErrorList.map((e, i) => { + return ; + })} +
- {uploading && }
+ {uploading && ( + + + Upload progress: {progress !== undefined && progress.toFixed(0)}% + + {} + + )}
); };