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