소스 검색

add optional header part for options & add biblio view with mode as component

axolotle 4 년 전
부모
커밋
9a0d07b0f1
4개의 변경된 파일68개의 추가작업 그리고 5개의 파일을 삭제
  1. 8 5
      src/App.vue
  2. 27 0
      src/pages/Biblio.vue
  3. 16 0
      src/pages/_partials/TextOptions.vue
  4. 17 0
      src/router/routes.js

+ 8 - 5
src/App.vue

@@ -1,18 +1,21 @@
 <template>
   <div id="app">
-    <!-- <header>
+    <header>
       <h1>
-        <router-link :to="{ name: 'home' }">En Français</router-link>
+        <router-link :to="{ name: 'home' }">
+          En Français
+        </router-link>
       </h1>
-    </header> -->
+      <router-view name="options" />
+    </header>
 
     <main id="main">
       <router-view />
     </main>
 
-    <!-- <footer>
+    <footer>
       <p>footer</p>
-    </footer> -->
+    </footer>
   </div>
 </template>
 

+ 27 - 0
src/pages/Biblio.vue

@@ -0,0 +1,27 @@
+<template>
+  <component-debug :component="this">
+    <component :is="mode" />
+  </component-debug>
+</template>
+
+<script>
+import { CardList, CardMap, TreeMap } from './biblio'
+
+
+export default {
+  name: 'Biblio',
+
+  components: {
+    CardList,
+    CardMap,
+    TreeMap
+  },
+
+  props: {
+    mode: { type: String, required: true }
+  }
+}
+</script>
+
+<style lang="scss" scoped>
+</style>

+ 16 - 0
src/pages/_partials/TextOptions.vue

@@ -0,0 +1,16 @@
+<template>
+  <component-debug :component="this" v-if="show" />
+</template>
+
+<script>
+export default {
+  name: 'TextOptions',
+
+  props: {
+    show: { type: Boolean, default: true }
+  }
+}
+</script>
+
+<style lang="scss" scoped>
+</style>

+ 17 - 0
src/router/routes.js

@@ -8,6 +8,23 @@ export default [
     component: Home
   },
 
+  {
+    name: 'biblio',
+    path: '/biblio',
+    components: {
+      default: () => import(/* webpackChunkName: "texts" */ '@/pages/Biblio'),
+      options: () => import(/* webpackChunkName: "texts" */ '@/pages/_partials/TextOptions')
+    },
+    props: {
+      default: ({ query }) => ({
+        mode: query.mode || 'tree-map'
+      }),
+      options: ({ query }) => ({
+        show: !('texts' in query)
+      })
+    }
+  },
+
   {
     name: 'notfound',
     path: '/404',