From 9452a5ec941fbf03dc1be5f03372bbf03ae0e3db Mon Sep 17 00:00:00 2001 From: HMS17 <84345306+HMS17@users.noreply.github.com> Date: Wed, 17 Aug 2022 15:35:38 -0400 Subject: [PATCH 1/2] [BI-1230] Unknown Germplasm, saving, display, start of pedigree work --- .../model/import/germplasm/Pedigree.ts | 14 +++++++++ .../germplasm/GermplasmPedigreesView.vue | 3 ++ src/views/germplasm/GermplasmDetails.vue | 4 +-- src/views/germplasm/GermplasmTable.vue | 4 +-- src/views/import/ImportGermplasm.vue | 30 ++++++++++++++++++- 5 files changed, 50 insertions(+), 5 deletions(-) diff --git a/src/breeding-insight/model/import/germplasm/Pedigree.ts b/src/breeding-insight/model/import/germplasm/Pedigree.ts index 33282a5ea..7576fefaf 100644 --- a/src/breeding-insight/model/import/germplasm/Pedigree.ts +++ b/src/breeding-insight/model/import/germplasm/Pedigree.ts @@ -44,4 +44,18 @@ export class Pedigree { } } + /** + * Wrapper of parsePedigreeString that handles female/male parent unknown cases. + * + * @param pedigreeString + * @param femaleParentUnknown + * @param maleParentUnknown + */ + public static parsePedigreeStringWithUnknowns(pedigreeString: string, femaleParentUnknown: string, maleParentUnknown: string) : Pedigree { + let parsedPedigree = this.parsePedigreeString(pedigreeString); + if (femaleParentUnknown) parsedPedigree.femaleParent = "0"; + if (maleParentUnknown) parsedPedigree.maleParent = "0"; + return parsedPedigree; + } + } \ No newline at end of file diff --git a/src/components/germplasm/GermplasmPedigreesView.vue b/src/components/germplasm/GermplasmPedigreesView.vue index 76495d224..94dbabc17 100644 --- a/src/components/germplasm/GermplasmPedigreesView.vue +++ b/src/components/germplasm/GermplasmPedigreesView.vue @@ -126,6 +126,9 @@ export default class GermplasmPedigreesView extends GermplasmBase { let pedigree = PedigreeViewer(`${process.env.VUE_APP_BI_API_V1_PATH}/programs/${this.activeProgram!.id}/brapi/v2`, undefined, 'v2.0', function (dbId: any, germplasm: any) { const parsedName = parseGermplasmName(germplasm.value.name); + if (parsedName.gid === "0") { + return null; + } return `${germplasmDetailsUrl}/gid-${parsedName.gid}`; }, { diff --git a/src/views/germplasm/GermplasmDetails.vue b/src/views/germplasm/GermplasmDetails.vue index f73da357c..f3ed830c3 100644 --- a/src/views/germplasm/GermplasmDetails.vue +++ b/src/views/germplasm/GermplasmDetails.vue @@ -39,12 +39,12 @@
  • Synonyms: {{ GermplasmUtils.formatSynonyms(germplasm.synonyms) }}
  • diff --git a/src/views/germplasm/GermplasmTable.vue b/src/views/germplasm/GermplasmTable.vue index 4cbd7846d..88c734110 100644 --- a/src/views/germplasm/GermplasmTable.vue +++ b/src/views/germplasm/GermplasmTable.vue @@ -36,13 +36,13 @@ diff --git a/src/views/import/ImportGermplasm.vue b/src/views/import/ImportGermplasm.vue index c7712c145..1ad759c84 100644 --- a/src/views/import/ImportGermplasm.vue +++ b/src/views/import/ImportGermplasm.vue @@ -112,7 +112,7 @@ {{ props.row.data.brAPIObject.seedSource }} - {{ props.row.data.brAPIObject.pedigree }} + {{ getPedigree(props.row.data.brAPIObject) }} {{ props.row.data.brAPIObject.additionalInfo.femaleParentGid }} @@ -162,6 +162,7 @@ import ExpandableTable from "@/components/tables/expandableTable/ExpandableTable import {ImportObjectState} from "@/breeding-insight/model/import/ImportObjectState"; import {ExternalUID} from "@/breeding-insight/model/import/germplasm/ExternalUID"; import {GermplasmUtils} from "@/breeding-insight/utils/GermplasmUtils"; +import {Germplasm} from "@/breeding-insight/brapi/model/germplasm"; @Component({ components: { @@ -217,5 +218,32 @@ export default class ImportGermplasm extends ProgramsBase { importFinished() { this.germplasmList = new GermplasmList(); } + + getPedigree(germplasm: Germplasm) { + //return germplasm.pedigree; + console.log(germplasm); + console.log(germplasm.additionalInfo.femaleParentUnknown); + let originalPedigree = germplasm.pedigree ? germplasm.pedigree.split('/') : [""]; + let displayPedigree = ""; + if (germplasm.additionalInfo.femaleParentUnknown){ + displayPedigree = "Unknown"; + } else { + displayPedigree = originalPedigree[0]; + } + if (germplasm.additionalInfo.maleParentUnknown){ + displayPedigree += "/Unknown"; + } else if (originalPedigree.length == 2) { + displayPedigree +=`/${originalPedigree[1]}`; + } + /*else if (germplasm.additionalInfo.femaleParentUnknown && something) { + //Handle case with unknown female, known male, which currently has a null pedigree posted + + } + */ + return displayPedigree; + //todo handle unknown f, known male + + } + } \ No newline at end of file From 13d02435f37f118799555db361ea68444eeb3dd5 Mon Sep 17 00:00:00 2001 From: HMS17 <84345306+HMS17@users.noreply.github.com> Date: Tue, 6 Sep 2022 13:34:45 -0400 Subject: [PATCH 2/2] Unknown germplasm displays minus 10+ progeny --- .../model/import/germplasm/Pedigree.ts | 6 +++--- src/views/germplasm/GermplasmDetails.vue | 4 ++-- src/views/germplasm/GermplasmTable.vue | 4 ++-- src/views/import/ImportGermplasm.vue | 12 +++--------- 4 files changed, 10 insertions(+), 16 deletions(-) diff --git a/src/breeding-insight/model/import/germplasm/Pedigree.ts b/src/breeding-insight/model/import/germplasm/Pedigree.ts index 7576fefaf..acb024653 100644 --- a/src/breeding-insight/model/import/germplasm/Pedigree.ts +++ b/src/breeding-insight/model/import/germplasm/Pedigree.ts @@ -51,10 +51,10 @@ export class Pedigree { * @param femaleParentUnknown * @param maleParentUnknown */ - public static parsePedigreeStringWithUnknowns(pedigreeString: string, femaleParentUnknown: string, maleParentUnknown: string) : Pedigree { + public static parsePedigreeStringWithUnknowns(pedigreeString: string, femaleParentUnknown: string, maleParentUnknown: string, gid: string) : Pedigree { let parsedPedigree = this.parsePedigreeString(pedigreeString); - if (femaleParentUnknown) parsedPedigree.femaleParent = "0"; - if (maleParentUnknown) parsedPedigree.maleParent = "0"; + if (femaleParentUnknown) parsedPedigree.femaleParent = "Unknown"; + if (maleParentUnknown) parsedPedigree.maleParent = "Unknown"; return parsedPedigree; } diff --git a/src/views/germplasm/GermplasmDetails.vue b/src/views/germplasm/GermplasmDetails.vue index f3ed830c3..50210eaef 100644 --- a/src/views/germplasm/GermplasmDetails.vue +++ b/src/views/germplasm/GermplasmDetails.vue @@ -39,12 +39,12 @@
  • Synonyms: {{ GermplasmUtils.formatSynonyms(germplasm.synonyms) }}
  • diff --git a/src/views/germplasm/GermplasmTable.vue b/src/views/germplasm/GermplasmTable.vue index 88c734110..46f05d022 100644 --- a/src/views/germplasm/GermplasmTable.vue +++ b/src/views/germplasm/GermplasmTable.vue @@ -36,13 +36,13 @@ diff --git a/src/views/import/ImportGermplasm.vue b/src/views/import/ImportGermplasm.vue index 1ad759c84..9ac209d2d 100644 --- a/src/views/import/ImportGermplasm.vue +++ b/src/views/import/ImportGermplasm.vue @@ -221,27 +221,21 @@ export default class ImportGermplasm extends ProgramsBase { getPedigree(germplasm: Germplasm) { //return germplasm.pedigree; - console.log(germplasm); - console.log(germplasm.additionalInfo.femaleParentUnknown); let originalPedigree = germplasm.pedigree ? germplasm.pedigree.split('/') : [""]; let displayPedigree = ""; - if (germplasm.additionalInfo.femaleParentUnknown){ + if (germplasm.additionalInfo && germplasm.additionalInfo.femaleParentUnknown){ displayPedigree = "Unknown"; } else { displayPedigree = originalPedigree[0]; } - if (germplasm.additionalInfo.maleParentUnknown){ + if (germplasm.additionalInfo && germplasm.additionalInfo.maleParentUnknown){ displayPedigree += "/Unknown"; } else if (originalPedigree.length == 2) { displayPedigree +=`/${originalPedigree[1]}`; } - /*else if (germplasm.additionalInfo.femaleParentUnknown && something) { - //Handle case with unknown female, known male, which currently has a null pedigree posted + //todo future card, handle case of unknown female/known male, which currently has null pedigree posted - } - */ return displayPedigree; - //todo handle unknown f, known male }