diff --git a/components/content/PdbeMolstarPlugin.vue b/components/content/PdbeMolstarPlugin.vue index 6a082cdddb0f94d613f21a899ee9195133b88ae8..20424279d20331194085b60d7d3cf047cab12124 100644 --- a/components/content/PdbeMolstarPlugin.vue +++ b/components/content/PdbeMolstarPlugin.vue @@ -1,10 +1,7 @@ <script setup lang="ts"> -import { withTrailingSlash, withLeadingSlash, joinURL } from 'ufo' -import { useRuntimeConfig, computed, toValue } from '#imports' +import { computed, toValue } from '#imports' import { useDisplay } from "vuetify"; -import type { MaybeRef } from "vue" -import FoldseekDialog from '../FoldseekDialog.vue' const { mobile, width, height } = useDisplay() @@ -85,8 +82,10 @@ function closeStructure() { dialog.value = false } watch(selectedPdb, (newSelectedPdb, prevSelectPdb) => { - viewPdb(newSelectedPdb) - structureToDownload.value = newSelectedPdb + if (newSelectedPdb !== prevSelectPdb) { + viewPdb(newSelectedPdb) + structureToDownload.value = newSelectedPdb + } }) watchEffect(() => { diff --git a/components/content/pdockqMatrix.vue b/components/content/pdockqMatrix.vue index cd20fc9e5aa7c3d65bee34b7454d2477406eb53d..a76433c754f8adab1cdbff8bcf23da2f5cbd0c5e 100644 --- a/components/content/pdockqMatrix.vue +++ b/components/content/pdockqMatrix.vue @@ -18,7 +18,7 @@ const filterBase = ref<string[]>([ "completed='true'" ]) const structureTitle = ref("Structure") -const stuctureUrls = ref<string[] | undefined>(undefined) +const structureUrls = ref<string[] | undefined>(undefined) export interface PlotMargin { marginTop: number, @@ -151,7 +151,7 @@ function on(mark) { // 🌶 since a point or band scale doesn't have an inverse, create one from its domain and range const g = render.apply(this, arguments); const r = d3.select(g).selectChildren(); - r.on("click", function (event, i) { + r.on("click", function (event) { const index = d3.select(event.srcElement).data()[0] displayStructure(data[index]) }) @@ -179,7 +179,7 @@ function buildStructureUrl(item) { } function displayStructure(item) { - stuctureUrls.value = buildStructureUrl(item).map(url => { + structureUrls.value = buildStructureUrl(item).map(url => { return toValue(useRefinedUrl(url).refinedUrl) }) structureTitle.value = item.proteins_in_the_prediction.join(" / ") @@ -194,9 +194,9 @@ function displayStructure(item) { <PlotFigure ref="matrixPlot" :options="unref(option)" defer class="pdockq-plot" :data-label="option.legend.label"></PlotFigure> </v-card-text> - <PdbeMolstarPlugin v-model="stuctureUrls" v-model:title="structureTitle" /> - </v-card> + </v-card> + <PdbeMolstarPlugin v-model="structureUrls" v-model:title="structureTitle" /> </v-row> <v-card v-else flat color="transparent"> <v-card-text>