From 81115b9778ef3fbfccbc1ff07372483862ddbfd6 Mon Sep 17 00:00:00 2001 From: Remi PLANEL <rplanel@pasteur.fr> Date: Mon, 9 Oct 2023 22:01:01 +0200 Subject: [PATCH] Quick fix to make wiki works. Api molstar-pdbe-plugin changed --- components/content/MolstarPdbePlugin.vue | 30 ++++++++++++++++++------ 1 file changed, 23 insertions(+), 7 deletions(-) diff --git a/components/content/MolstarPdbePlugin.vue b/components/content/MolstarPdbePlugin.vue index ea7109b5..71d8385a 100644 --- a/components/content/MolstarPdbePlugin.vue +++ b/components/content/MolstarPdbePlugin.vue @@ -3,19 +3,35 @@ import { withTrailingSlash, withLeadingSlash, joinURL } from 'ufo' import { useRuntimeConfig, computed } from '#imports' export interface Props { height?: number - dataUrls: string[] + dataUrls?: string[] + dataUrl?: string } // const selectedPdb = ref('') const refinedDataUrls = computed(() => { - return props.dataUrls.map((dataUrl) => { - if (dataUrl?.startsWith('/') && !dataUrl.startsWith('//')) { + + function refinedUrl(url: string) { + if (url?.startsWith('/') && !url.startsWith('//')) { const _base = withLeadingSlash(withTrailingSlash(useRuntimeConfig().app.baseURL)) - if (_base !== '/' && !dataUrl.startsWith(_base)) { - return joinURL(_base, dataUrl) + if (_base !== '/' && !url.startsWith(_base)) { + return joinURL(_base, url) } } - return dataUrl - }) + return url + } + + let urls: string[] = [] + + if (props?.dataUrls && props?.dataUrls?.length > 0) { + urls = [...props.dataUrls.map((dataUrl) => { + return refinedUrl(dataUrl) + })] + } + if (props?.dataUrl) { + urls = [...urls, refinedUrl(props.dataUrl)] + } + return urls + + }) // const selectedPdb = ref(refinedDataUrls.value?.length > 0 ? refinedDataUrls.value[0] : null) -- GitLab