Browse Source

improved query handling

axolotle 3 years ago
parent
commit
c1084b48a7
1 changed files with 9 additions and 7 deletions
  1. 9 7
      src/router/routes.js

+ 9 - 7
src/router/routes.js

@@ -17,15 +17,17 @@ export default [
       options: TextOptions
     },
     props: {
-      default: ({ query }) => ({
-        mode: query.mode || 'tree-map',
+      default: ({ query }) => {
+        let { mode = 'tree-map', texts = [] } = query
+        if (typeof texts === 'string') texts = [texts]
         // In case of a reload or direct link, vue-router doesn't turn the query string into an array.
-        texts: query.texts && query.texts.length && typeof query.texts[0] === 'string'
-          ? query.texts.map(text => text.split(',').map(id => parseInt(id)))
-          : query.texts
-      }),
+        if (texts && texts.length && typeof texts[0] === 'string') {
+          texts = texts.map(text => text.split(',').map(id => parseInt(id)))
+        }
+        return { mode, texts }
+      },
       options: ({ query }) => ({
-        show: !('texts' in query)
+        show: !('texts' in query && query.texts.length)
       })
     }
   },