From 66325ee3b7f7f22015a98bddb504924c4b0931cd Mon Sep 17 00:00:00 2001 From: hms243 Date: Wed, 30 Nov 2022 12:43:43 -0500 Subject: [PATCH 1/4] [BI-1614] - Add Term Type to Ontology Term display and form creation/modification --- src/breeding-insight/model/Sort.ts | 3 +- src/breeding-insight/model/Trait.ts | 8 +++-- src/breeding-insight/model/TraitSelector.ts | 6 ++++ src/components/ontology/OntologyTable.vue | 13 ++++++++ src/components/trait/TraitDetailPanel.vue | 10 ++++++ src/components/trait/forms/BaseTraitForm.vue | 34 +++++++++++++++++--- 6 files changed, 66 insertions(+), 8 deletions(-) diff --git a/src/breeding-insight/model/Sort.ts b/src/breeding-insight/model/Sort.ts index 4ae6b2898..fddd724a6 100644 --- a/src/breeding-insight/model/Sort.ts +++ b/src/breeding-insight/model/Sort.ts @@ -55,7 +55,8 @@ export enum OntologySortField { MethodDescription = 'methodDescription', ScaleClass = 'scaleClass', ScaleName = 'scaleName', - entityAttributeSortLabel = 'entityAttribute' + entityAttributeSortLabel = 'entityAttribute', + TermType = 'termType' } export class OntologySort { diff --git a/src/breeding-insight/model/Trait.ts b/src/breeding-insight/model/Trait.ts index 214f9ce8a..358210600 100644 --- a/src/breeding-insight/model/Trait.ts +++ b/src/breeding-insight/model/Trait.ts @@ -18,11 +18,13 @@ import {ProgramObservationLevel} from "@/breeding-insight/model/ProgramObservationLevel"; import {Method} from "@/breeding-insight/model/Method"; import {Scale} from "@/breeding-insight/model/Scale"; +import {TermType} from "@/breeding-insight/model/TraitSelector"; export class Trait { id?: string; traitName?: string; observationVariableName?: string; + termType?: TermType; programObservationLevel?: ProgramObservationLevel; entity?: string; attribute?: string; @@ -39,6 +41,7 @@ export class Trait { constructor(id?: string, traitName?: string, observationVariableName?: string, + termType?: TermType, programObservationLevel?: ProgramObservationLevel, entity?: string, attribute?: string, @@ -49,7 +52,7 @@ export class Trait { active?: boolean, tags?: string[], fullName?: string, - isDup?: boolean, + isDup?: boolean ) { this.id = id; this.traitName = traitName; @@ -89,7 +92,7 @@ export class Trait { static assign(trait: Trait): Trait { return new Trait(trait.id, trait.traitName, trait.observationVariableName, trait.programObservationLevel, trait.entity, trait.attribute, - trait.traitDescription, trait.method, trait.scale, trait.synonyms, trait.active, trait.tags, trait.fullName, trait.isDup); + trait.traitDescription, trait.method, trait.scale, trait.synonyms, trait.active, trait.tags, trait.fullName, trait.isDup, trait.termType); } checkStringListEquals(list: string[] | undefined, otherList: string[] | undefined): boolean { @@ -111,6 +114,7 @@ export class Trait { (this.traitName === trait.traitName) && (this.observationVariableName === trait.observationVariableName) && (this.fullName === trait.fullName) && + (this.termType === trait.termType) && (this.checkStringListEquals(this.synonyms, trait.synonyms)) && (this.mainAbbreviation === trait.mainAbbreviation) && (this.entity === trait.entity) && diff --git a/src/breeding-insight/model/TraitSelector.ts b/src/breeding-insight/model/TraitSelector.ts index 9b651ac1b..b7101ff50 100644 --- a/src/breeding-insight/model/TraitSelector.ts +++ b/src/breeding-insight/model/TraitSelector.ts @@ -21,6 +21,12 @@ export enum TraitField { UPDATED_BY_USER_NAME = 'updatedByUserName' } +export enum TermType { + PHENOTYPE = 'Phenotype', + GERM_ATTRIBUTE = 'Germplasm Attribute', + GERM_PASSPORT = 'Germplasm Passport' +} + export class TraitFilter { field?: TraitField; value?: string | number | boolean; diff --git a/src/components/ontology/OntologyTable.vue b/src/components/ontology/OntologyTable.vue index 804a5c7d8..1fdb28552 100644 --- a/src/components/ontology/OntologyTable.vue +++ b/src/components/ontology/OntologyTable.vue @@ -122,6 +122,18 @@ > {{ data.observationVariableName }} + + {{ data.termType }} + {{data.traitDescription}} + +
+
+ Term Type +
+
+ {{data.termType}} +
+
+