From f41c0deba9451d8031f5468eec0306d7e2883807 Mon Sep 17 00:00:00 2001 From: OganM Date: Wed, 15 May 2024 20:55:48 -0700 Subject: [PATCH 1/6] seemingly fixes #94 --- src/components/TechnologyTypeSelector.vue | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/components/TechnologyTypeSelector.vue b/src/components/TechnologyTypeSelector.vue index 5ae351c..8eab5e8 100644 --- a/src/components/TechnologyTypeSelector.vue +++ b/src/components/TechnologyTypeSelector.vue @@ -104,9 +104,6 @@ export default { } }, watch: { - value(newVal) { - this.selectedValues = newVal.map(t => t.id); - }, selectedValues(newVal, oldVal) { let ids = new Set(newVal.filter(id => !TECHNOLOGY_TYPES.includes(id))); let selectedTechnologyTypes = this.computeSelectedTechnologyTypes(ids); From fb670d604566c1c8fd5f34e2e51e6729c6e9e896 Mon Sep 17 00:00:00 2001 From: OganM Date: Wed, 15 May 2024 23:06:48 -0700 Subject: [PATCH 2/6] fixes clear all --- src/components/SearchSettings.vue | 6 +++--- src/components/TechnologyTypeSelector.vue | 3 +++ 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/components/SearchSettings.vue b/src/components/SearchSettings.vue index 27772e6..b151f60 100644 --- a/src/components/SearchSettings.vue +++ b/src/components/SearchSettings.vue @@ -38,8 +38,9 @@ @@ -134,10 +135,9 @@ export default { }, methods: { clearAllSelections() { + this.$refs.technologyTypeSelector.clear() this.searchSettings.annotations = []; - this.searchSettings.platforms = []; this.searchSettings.taxon = []; - this.searchSettings.technologyTypes = []; this.searchSettings.query = undefined; } }, diff --git a/src/components/TechnologyTypeSelector.vue b/src/components/TechnologyTypeSelector.vue index 8eab5e8..45b2c92 100644 --- a/src/components/TechnologyTypeSelector.vue +++ b/src/components/TechnologyTypeSelector.vue @@ -101,6 +101,9 @@ export default { } return [v.id]; }); + }, + clear() { + this.selectedValues = [] } }, watch: { From 651e5a08ce9af5fcdb6063eb04fc9ade65a7e02c Mon Sep 17 00:00:00 2001 From: OganM Date: Thu, 16 May 2024 20:33:38 -0700 Subject: [PATCH 3/6] fix without a ref --- src/components/SearchSettings.vue | 8 +++++--- src/components/TechnologyTypeSelector.vue | 15 ++++++++++----- 2 files changed, 15 insertions(+), 8 deletions(-) diff --git a/src/components/SearchSettings.vue b/src/components/SearchSettings.vue index b151f60..6b52d38 100644 --- a/src/components/SearchSettings.vue +++ b/src/components/SearchSettings.vue @@ -37,9 +37,9 @@ class="mb-1"/> t.id) }; }, computed: { + selectedValues: + { + get(){ + return this.value + }, + set(val){ + this.$emit('input',val) + } + }, technologyTypes() { return TOP_TECHNOLOGY_TYPES .filter(([id]) => id !== "OTHER" || this.debug) @@ -101,9 +109,6 @@ export default { } return [v.id]; }); - }, - clear() { - this.selectedValues = [] } }, watch: { @@ -115,7 +120,7 @@ export default { let oldSelectedTechnologyTypes = this.computeSelectedTechnologyTypes(oldIds); let oldSelectedPlatforms = this.computeSelectedPlatforms(oldIds, oldSelectedTechnologyTypes); if (!isEqual(selectedPlatforms.map(p => p.id), oldSelectedPlatforms.map(p => p.id))) { - this.$emit("input", selectedPlatforms); + this.$emit("update:selectedPlatforms", selectedPlatforms); } if (!isEqual(selectedTechnologyTypes, oldSelectedTechnologyTypes)) { this.$emit("update:selectedTechnologyTypes", selectedTechnologyTypes); From 3994cb9b621a0ff81578b49b5399f223f9bdb9a9 Mon Sep 17 00:00:00 2001 From: OganM Date: Thu, 16 May 2024 20:37:05 -0700 Subject: [PATCH 4/6] remove forgotten console.log --- src/components/SearchSettings.vue | 1 - 1 file changed, 1 deletion(-) diff --git a/src/components/SearchSettings.vue b/src/components/SearchSettings.vue index 6b52d38..550e4b8 100644 --- a/src/components/SearchSettings.vue +++ b/src/components/SearchSettings.vue @@ -145,7 +145,6 @@ export default { watch: { searchSettings: { handler: function(newValue) { - console.log(newValue) this.$emit("input", newValue); }, deep: true From f6de95acf0eeb2df2597a106076f68fda62ad975 Mon Sep 17 00:00:00 2001 From: OganM Date: Mon, 10 Jun 2024 18:37:18 -0700 Subject: [PATCH 5/6] PlatformSelector is vestigial --- src/components/PlatformSelector.vue | 181 ---------------------------- 1 file changed, 181 deletions(-) delete mode 100644 src/components/PlatformSelector.vue diff --git a/src/components/PlatformSelector.vue b/src/components/PlatformSelector.vue deleted file mode 100644 index eb31e58..0000000 --- a/src/components/PlatformSelector.vue +++ /dev/null @@ -1,181 +0,0 @@ - - - - - \ No newline at end of file From 5caa25b1090a7d1354602fa0afa1ef73191f87c4 Mon Sep 17 00:00:00 2001 From: OganM Date: Mon, 10 Jun 2024 19:02:21 -0700 Subject: [PATCH 6/6] fixes #106, moves platform related constants with out of component use to their own file --- src/components/TechnologyTypeSelector.vue | 9 +-------- src/lib/filter.js | 8 ++++++-- src/lib/platformConstants.js | 11 +++++++++++ 3 files changed, 18 insertions(+), 10 deletions(-) create mode 100644 src/lib/platformConstants.js diff --git a/src/components/TechnologyTypeSelector.vue b/src/components/TechnologyTypeSelector.vue index 463d548..5eb146d 100644 --- a/src/components/TechnologyTypeSelector.vue +++ b/src/components/TechnologyTypeSelector.vue @@ -35,15 +35,8 @@ import { chain, isEqual } from "lodash"; import { formatNumber } from "@/lib/utils"; import { mapState } from "vuex"; +import { TECHNOLOGY_TYPES, TOP_TECHNOLOGY_TYPES} from "@/lib/platformConstants"; -const MICROARRAY_TECHNOLOGY_TYPES = ["ONECOLOR", "TWOCOLOR", "DUALMODE"]; -const RNA_SEQ_TECHNOLOGY_TYPES = ["SEQUENCING"]; -const OTHER_TECHNOLOGY_TYPES = ["GENELIST", "OTHER"]; -const TECHNOLOGY_TYPES = MICROARRAY_TECHNOLOGY_TYPES + RNA_SEQ_TECHNOLOGY_TYPES + OTHER_TECHNOLOGY_TYPES; -const TOP_TECHNOLOGY_TYPES = [ - ["RNA_SEQ", "RNA-Seq", RNA_SEQ_TECHNOLOGY_TYPES], - ["MICROARRAY", "Microarray", MICROARRAY_TECHNOLOGY_TYPES], - ["OTHER", "Other", OTHER_TECHNOLOGY_TYPES]]; export default { name: "TechnologyTypeSelector", diff --git a/src/lib/filter.js b/src/lib/filter.js index 177b4b5..5e03a7a 100644 --- a/src/lib/filter.js +++ b/src/lib/filter.js @@ -1,6 +1,10 @@ import { SearchSettings } from "@/lib/models"; import { chain, sumBy } from "lodash"; import { getCategoryId, pluralize } from "@/lib/utils"; +import { MICROARRAY_TECHNOLOGY_TYPES, RNA_SEQ_TECHNOLOGY_TYPES, OTHER_TECHNOLOGY_TYPES} from "@/lib/platformConstants"; + + + const MAX_URIS_IN_CLAUSE = 200; @@ -159,10 +163,10 @@ export function generateFilterDescription(searchSettings, inferredTermsByCategor } if (searchSettings.platforms.length > 0 || searchSettings.technologyTypes.length > 0) { const platformValues = searchSettings.platforms.map(platforms => platforms.name); - if (searchSettings.technologyTypes && searchSettings.technologyTypes.includes("RNASEQ")) { + if (searchSettings.technologyTypes && RNA_SEQ_TECHNOLOGY_TYPES.every(tech=>searchSettings.technologyTypes.includes(tech))) { platformValues.unshift("RNA-Seq"); } - if (searchSettings.technologyTypes && searchSettings.technologyTypes.length >= 3 && searchSettings.platforms.length === 0) { + if (searchSettings.technologyTypes && MICROARRAY_TECHNOLOGY_TYPES.every(tech=>searchSettings.technologyTypes.includes(tech))) { platformValues.unshift("Microarray"); } filter.push({ key: "Platforms", value: platformValues }); diff --git a/src/lib/platformConstants.js b/src/lib/platformConstants.js new file mode 100644 index 0000000..902357a --- /dev/null +++ b/src/lib/platformConstants.js @@ -0,0 +1,11 @@ +const MICROARRAY_TECHNOLOGY_TYPES = ["ONECOLOR", "TWOCOLOR", "DUALMODE"]; +const RNA_SEQ_TECHNOLOGY_TYPES = ["SEQUENCING"]; +const OTHER_TECHNOLOGY_TYPES = ["GENELIST", "OTHER"]; +const TECHNOLOGY_TYPES = MICROARRAY_TECHNOLOGY_TYPES + RNA_SEQ_TECHNOLOGY_TYPES + OTHER_TECHNOLOGY_TYPES; +const TOP_TECHNOLOGY_TYPES = [ + ["RNA_SEQ", "RNA-Seq", RNA_SEQ_TECHNOLOGY_TYPES], + ["MICROARRAY", "Microarray", MICROARRAY_TECHNOLOGY_TYPES], + ["OTHER", "Other", OTHER_TECHNOLOGY_TYPES]]; + + +export {MICROARRAY_TECHNOLOGY_TYPES, RNA_SEQ_TECHNOLOGY_TYPES, OTHER_TECHNOLOGY_TYPES, TECHNOLOGY_TYPES, TOP_TECHNOLOGY_TYPES} \ No newline at end of file