From a105ee999cd64a86fe17ff8f666d656bfd240cf5 Mon Sep 17 00:00:00 2001 From: EstelleDa Date: Tue, 23 Apr 2024 19:50:53 +1000 Subject: [PATCH 01/17] Draft. Haven't modified Home page score set Highlights Keywords section. Other functions work normally. --- src/components/screens/ExperimentEditor.vue | 98 +++++++++++++++++++-- src/components/screens/ExperimentView.vue | 8 +- src/components/screens/ScoreSetEditor.vue | 15 ++-- src/components/screens/ScoreSetView.vue | 7 +- src/lib/item-types.js | 40 +++++++++ 5 files changed, 144 insertions(+), 24 deletions(-) diff --git a/src/components/screens/ExperimentEditor.vue b/src/components/screens/ExperimentEditor.vue index 372ddf72..9768cfbb 100644 --- a/src/components/screens/ExperimentEditor.vue +++ b/src/components/screens/ExperimentEditor.vue @@ -53,13 +53,64 @@ {{validationErrors.shortDescription}} + +
+ + + + + {{validationErrors.keywords}} +
+
+ + + + + {{validationErrors.keywords}} +
+
+ + + + + {{validationErrors.keywords}} +
- - + + {{validationErrors.keywords}}
+
{ + const endogenousKeywordsOptions = useItems({itemTypeName: `controlled-keywords-endogenous-search`}) + const invitroKeywordsOptions = useItems({itemTypeName: `controlled-keywords-invitro-search`}) + const variantKeywordsOptions = useItems({itemTypeName: `controlled-keywords-variant-search`}) + const phenotypicKeywordsOptions = useItems({itemTypeName: `controlled-keywords-phenotypic-search`}) const publicationIdentifierSuggestions = useItems({itemTypeName: 'publication-identifier-search'}) const externalPublicationIdentifierSuggestions = useItems({itemTypeName: 'external-publication-identifier-search'}) return { ...useFormatters(), ...useItem({itemTypeName: 'experiment'}), + endogenousKeywordsOptions: endogenousKeywordsOptions.items, + invitroKeywordsOptions: invitroKeywordsOptions.items, + variantKeywordsOptions: variantKeywordsOptions.items, + phenotypicKeywordsOptions: phenotypicKeywordsOptions.items, publicationIdentifierSuggestions: publicationIdentifierSuggestions.items, setPublicationIdentifierSearch: (text) => publicationIdentifierSuggestions.setRequestBody({text}), externalPublicationIdentifierSuggestions: externalPublicationIdentifierSuggestions.items, @@ -283,7 +343,11 @@ export default { shortDescription: null, abstractText: null, methodText: null, - keywords: [], + endogenousKeyword: null, + invitroKeyword: null, + variantKeyword: null, + phenotypicKeyword: null, + keywords: {}, doiIdentifiers: [], primaryPublicationIdentifiers: [], secondaryPublicationIdentifiers: [], @@ -469,7 +533,10 @@ export default { this.shortDescription = this.item.shortDescription this.abstractText = this.item.abstractText this.methodText = this.item.methodText - this.keywords = this.item.keywords + this.endogenousKeyword = this.item.keywords["Endogenous Locus Library Method"].value + this.invitroKeyword = this.item.keywords["In Vitro Construct Library Method"].value + this.variantKeyword = this.item.keywords["Variant Library"].value + this.phenotypicKeyword = this.item.keywords["Phenotypic Assay"].value this.doiIdentifiers = this.item.doiIdentifiers // So that the multiselect can populate correctly, build the primary publication identifiers // indirectly by filtering publication identifiers list for those publications we know to be @@ -488,7 +555,11 @@ export default { this.shortDescription = null this.abstractText = null this.methodText = null - this.keywords = [] + this.keywords = {} + this.endogenousKeyword = null + this.invitroKeyword = null + this.variantKeyword = null + this.phenotypicKeyword = null this.doiIdentifiers = [] this.primaryPublicationIdentifiers = [] this.secondaryPublicationIdentifiers = [] @@ -519,7 +590,12 @@ export default { shortDescription: this.shortDescription, abstractText: this.abstractText, methodText: this.methodText, - keywords: this.keywords, + keywords: { + endogenousKeyword: {"key": "Endogenous Locus Library Method", "value": this.endogenousKeyword}, + invitroKeyword: {"key": "In Vitro Construct Library Method", "value": this.invitroKeyword}, + variantKeyword: {"key": "Variant Library", "value": this.variantKeyword}, + phenotypicKeyword: {"key": "Phenotypic Assay", "value": this.phenotypicKeyword} + }, doiIdentifiers: this.doiIdentifiers.map((identifier) => _.pick(identifier, 'identifier')), primaryPublicationIdentifiers: primaryPublicationIdentifiers, secondaryPublicationIdentifiers: secondaryPublicationIdentifiers, @@ -528,7 +604,7 @@ export default { } // empty item arrays so that deleted items aren't merged back into editedItem object if(this.item) { - this.item.keywords = [] + this.item.keywords = {} this.item.doiIdentifiers = [] this.item.publicationIdentifiers = [] this.item.primaryPublicationIdentifiers = [] @@ -624,6 +700,12 @@ export default { From 7a7757286d9a95be135c53d0058359f9c0636434 Mon Sep 17 00:00:00 2001 From: EstelleDa Date: Fri, 19 Jul 2024 17:22:57 +1000 Subject: [PATCH 11/17] Simplify codes and add features --- src/components/screens/ExperimentEditor.vue | 639 +++++++++++--------- src/components/screens/ExperimentView.vue | 19 +- 2 files changed, 385 insertions(+), 273 deletions(-) diff --git a/src/components/screens/ExperimentEditor.vue b/src/components/screens/ExperimentEditor.vue index 06881e98..83e54380 100644 --- a/src/components/screens/ExperimentEditor.vue +++ b/src/components/screens/ExperimentEditor.vue @@ -208,263 +208,268 @@