Skip to content

Commit 55cdbde

Browse files
authored
Case import : compute base name from case-server instead of front com… (#587)
1 parent c92496c commit 55cdbde

File tree

2 files changed

+9
-32
lines changed

2 files changed

+9
-32
lines changed

src/components/dialogs/commons/prefilled-name-input.tsx

Lines changed: 8 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
import { useEffect, useState } from 'react';
99
import { useFormContext } from 'react-hook-form';
10-
import { ElementType, FieldConstants, UniqueNameInput } from '@gridsuite/commons-ui';
10+
import { ElementType, FieldConstants, UniqueNameInput, useSnackMessage } from '@gridsuite/commons-ui';
1111
import { useSelector } from 'react-redux';
1212
import { elementExists, getBaseName } from '../../../utils/rest-api';
1313
import { AppState } from '../../../redux/types';
@@ -23,40 +23,32 @@ export interface PrefilledNameInputProps {
2323
* Used for CreateCaseDialog and CreateStudyDialog
2424
*/
2525
export default function PrefilledNameInput({ label, name, elementType }: Readonly<PrefilledNameInputProps>) {
26-
const {
27-
setValue,
28-
clearErrors,
29-
watch,
30-
formState: { errors },
31-
} = useFormContext();
26+
const { setValue, watch } = useFormContext();
3227

3328
const [modifiedByUser, setModifiedByUser] = useState(false);
29+
const { snackError } = useSnackMessage();
3430

3531
const caseFile = watch(FieldConstants.CASE_FILE) as File;
36-
const caseFileErrorMessage = errors.caseFile?.message;
37-
const apiCallErrorMessage = errors.root?.apiCall?.message;
38-
3932
const activeDirectory = useSelector((state: AppState) => state.activeDirectory);
4033

4134
useEffect(() => {
42-
// we replace the name only if some conditions are respected
43-
if (caseFile && !modifiedByUser && !apiCallErrorMessage && !caseFileErrorMessage) {
35+
if (caseFile && !modifiedByUser) {
4436
const { name: caseName } = caseFile;
45-
4637
if (caseName) {
47-
clearErrors(name);
4838
getBaseName(caseName)
4939
.then((response) => {
5040
setValue(name, response, {
5141
shouldDirty: true,
5242
});
5343
})
5444
.catch((error) => {
55-
console.error('Error fetching base name:', error);
45+
snackError({
46+
messageTxt: error.message,
47+
});
5648
});
5749
}
5850
}
59-
}, [caseFile, modifiedByUser, apiCallErrorMessage, caseFileErrorMessage, setValue, clearErrors, name]);
51+
}, [caseFile, modifiedByUser, setValue, name, snackError]);
6052

6153
return (
6254
<UniqueNameInput

src/components/dialogs/commons/upload-new-case.tsx

Lines changed: 1 addition & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ export default function UploadNewCase({
4343
name: FieldConstants.CASE_UUID,
4444
});
4545

46-
const { clearErrors, setError, getValues, setValue } = useFormContext();
46+
const { clearErrors, setError, getValues } = useFormContext();
4747

4848
const caseFile = value as File;
4949
const { name: caseFileName } = caseFile || {};
@@ -72,8 +72,6 @@ export default function UploadNewCase({
7272
if (currentFile.size <= MAX_FILE_SIZE_IN_BYTES) {
7373
onValueChange(currentFile);
7474

75-
const { name: currentCaseFileName } = currentFile;
76-
7775
if (isNewStudyCreation) {
7876
// Create new case
7977
setCaseFileLoading(true);
@@ -95,19 +93,6 @@ export default function UploadNewCase({
9593
.finally(() => {
9694
setCaseFileLoading(false);
9795
});
98-
} else {
99-
const caseName = getValues(FieldConstants.CASE_NAME);
100-
if (currentCaseFileName && caseName !== currentCaseFileName) {
101-
clearErrors(FieldConstants.CASE_NAME);
102-
setValue(
103-
FieldConstants.CASE_NAME,
104-
currentCaseFileName.substring(0, currentCaseFileName.indexOf('.')),
105-
{
106-
shouldDirty: true,
107-
shouldValidate: true,
108-
}
109-
);
110-
}
11196
}
11297
} else {
11398
setError(FieldConstants.CASE_FILE, {

0 commit comments

Comments
 (0)