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
}