From a13e8d660079df5bb304d9c79b80e79057b32dd1 Mon Sep 17 00:00:00 2001 From: HangLe Date: Fri, 3 Sep 2021 16:46:43 +0300 Subject: [PATCH 1/4] Add Title to linking accessionIds --- .../WizardFillObjectDetailsForm.js | 5 +- .../WizardForms/WizardJSONSchemaParser.js | 60 +++++++++++-------- 2 files changed, 38 insertions(+), 27 deletions(-) diff --git a/src/components/NewDraftWizard/WizardForms/WizardFillObjectDetailsForm.js b/src/components/NewDraftWizard/WizardForms/WizardFillObjectDetailsForm.js index 7ce40514..f4f254f3 100644 --- a/src/components/NewDraftWizard/WizardForms/WizardFillObjectDetailsForm.js +++ b/src/components/NewDraftWizard/WizardForms/WizardFillObjectDetailsForm.js @@ -488,7 +488,10 @@ const WizardFillObjectDetailsForm = (): React$Element => { const getAccessionIds = (objectType: string) => { const submissions = metadataObjects?.filter(obj => obj.schema.toLowerCase() === objectType) - const accessionIds = submissions?.map(obj => obj.accessionId) + + // const accessionIds = submissions?.map(obj => obj.accessionId) + const accessionIds = submissions?.map(obj => `${obj.accessionId} - Title: ${obj.tags.displayTitle}`) + console.log("accessionIds :>> ", accessionIds) return accessionIds } diff --git a/src/components/NewDraftWizard/WizardForms/WizardJSONSchemaParser.js b/src/components/NewDraftWizard/WizardForms/WizardJSONSchemaParser.js index cfde13df..99a3d33c 100644 --- a/src/components/NewDraftWizard/WizardForms/WizardJSONSchemaParser.js +++ b/src/components/NewDraftWizard/WizardForms/WizardJSONSchemaParser.js @@ -816,32 +816,40 @@ const FormSelectField = ({ ( -
- - - ))} - - {description && ( - - - - )} -
- )} + render={({ field, fieldState: { error } }) => { + let accessionId = null + if (field.value?.includes("Title")) { + const hyphenIndex = field.value.indexOf("-") + accessionId = field.value.slice(0, hyphenIndex - 1) + } + + return ( +
+ + + ))} + + {description && ( + + + + )} +
+ ) + }} /> ) }} From b111f4c6509f959ab9e11f71b3208b23a78cab4f Mon Sep 17 00:00:00 2001 From: HangLe Date: Mon, 6 Sep 2021 12:39:51 +0300 Subject: [PATCH 2/4] Make linkingAccessionIds selectable and work with Title --- .../WizardFillObjectDetailsForm.js | 4 +--- .../WizardForms/WizardJSONSchemaParser.js | 19 ++++++++++++------- 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/src/components/NewDraftWizard/WizardForms/WizardFillObjectDetailsForm.js b/src/components/NewDraftWizard/WizardForms/WizardFillObjectDetailsForm.js index f4f254f3..5ffb00f3 100644 --- a/src/components/NewDraftWizard/WizardForms/WizardFillObjectDetailsForm.js +++ b/src/components/NewDraftWizard/WizardForms/WizardFillObjectDetailsForm.js @@ -488,10 +488,8 @@ const WizardFillObjectDetailsForm = (): React$Element => { const getAccessionIds = (objectType: string) => { const submissions = metadataObjects?.filter(obj => obj.schema.toLowerCase() === objectType) - - // const accessionIds = submissions?.map(obj => obj.accessionId) + // Add "- Title: " to accessionId const accessionIds = submissions?.map(obj => `${obj.accessionId} - Title: ${obj.tags.displayTitle}`) - console.log("accessionIds :>> ", accessionIds) return accessionIds } diff --git a/src/components/NewDraftWizard/WizardForms/WizardJSONSchemaParser.js b/src/components/NewDraftWizard/WizardForms/WizardJSONSchemaParser.js index 99a3d33c..a08ad34d 100644 --- a/src/components/NewDraftWizard/WizardForms/WizardJSONSchemaParser.js +++ b/src/components/NewDraftWizard/WizardForms/WizardJSONSchemaParser.js @@ -817,23 +817,28 @@ const FormSelectField = ({ name={name} control={control} render={({ field, fieldState: { error } }) => { - let accessionId = null - if (field.value?.includes("Title")) { - const hyphenIndex = field.value.indexOf("-") - accessionId = field.value.slice(0, hyphenIndex - 1) - } - return (
+ field.onChange(() => { + const val = e.target.value + // Case: linkingAccessionIds which include "AccessionId + Form's title", we need to return only accessionId as value + if (val?.includes("Title")) { + const hyphenIndex = val.indexOf("-") + return val.slice(0, hyphenIndex - 1) + } + return val + }) + } >