Alexey Velikiy
8 years ago
8 changed files with 132 additions and 25 deletions
@ -1,22 +1,96 @@ |
|||||||
<template> |
<template> |
||||||
<div id="holder"> |
<div id="holder"> |
||||||
<div> |
<div class="links"> |
||||||
<a :href="prev.path"> < previous </a> |
<a v-if="prev" :href="prev.href" class="prev"> < previous </a> |
||||||
<!-- TODO: source code link --> |
<a :href="sourceHref" class="source"> source </a> |
||||||
<a :href="next.path"> next > </a> |
<a v-if="next" :href="next.href" class="next"> next > </a> |
||||||
</div> |
</div> |
||||||
</div> |
</div> |
||||||
</template> |
</template> |
||||||
|
|
||||||
<script> |
<script> |
||||||
|
|
||||||
|
import { routes } from 'router/demos'; |
||||||
|
const config = require('config.json'); |
||||||
|
|
||||||
export default { |
export default { |
||||||
data () { |
computed: { |
||||||
console.log(this.$route); |
prev: function() { |
||||||
return {} |
var index = this.findIndex(); |
||||||
|
if(index == -1) { |
||||||
|
return undefined; |
||||||
|
} |
||||||
|
return index > 0 ? routes[index - 1] : undefined; |
||||||
|
}, |
||||||
|
next: function() { |
||||||
|
var index = this.findIndex(); |
||||||
|
if(index == -1) { |
||||||
|
return undefined; |
||||||
|
} |
||||||
|
return index + 1 < routes.length ? routes[index + 1] : undefined; |
||||||
|
}, |
||||||
|
sourceHref: function() { |
||||||
|
var index = this.findIndex(); |
||||||
|
if(index == -1) { |
||||||
|
return config.githubLink; |
||||||
|
} |
||||||
|
return routes[index].source; |
||||||
|
} |
||||||
|
}, |
||||||
|
methods: { |
||||||
|
findIndex: function() { |
||||||
|
var me = this.$route.path; |
||||||
|
return routes.findIndex(r => r.path === me); |
||||||
|
} |
||||||
} |
} |
||||||
} |
} |
||||||
</script> |
</script> |
||||||
|
|
||||||
<style> |
<style scoped> |
||||||
|
|
||||||
|
#links { |
||||||
|
display: block; |
||||||
|
width: 300px; |
||||||
|
height: 40px; |
||||||
|
position: relative; |
||||||
|
} |
||||||
|
|
||||||
|
a { |
||||||
|
display: block; |
||||||
|
position: absolute; |
||||||
|
width: 100px; |
||||||
|
text-decoration: none; |
||||||
|
font-weight: bold; |
||||||
|
color: blue; |
||||||
|
} |
||||||
|
|
||||||
|
a:hover { |
||||||
|
text-decoration: underline; |
||||||
|
} |
||||||
|
|
||||||
|
.prev { |
||||||
|
left: 0px; |
||||||
|
} |
||||||
|
|
||||||
|
.source { |
||||||
|
left:100px; |
||||||
|
text-align: center; |
||||||
|
} |
||||||
|
|
||||||
|
.next { |
||||||
|
right: 0px; |
||||||
|
text-align: right; |
||||||
|
} |
||||||
|
|
||||||
|
#holder { |
||||||
|
width: 300px; |
||||||
|
margin: auto; |
||||||
|
position: relative; |
||||||
|
height: 30px; |
||||||
|
/*border-top: 1px dashed gray;*/ |
||||||
|
border-bottom: 1px dashed gray; |
||||||
|
padding-top: 10px; |
||||||
|
margin-top: 10px; |
||||||
|
margin-bottom: 10px; |
||||||
|
} |
||||||
</style> |
</style> |
||||||
|
@ -0,0 +1,3 @@ |
|||||||
|
{ |
||||||
|
"githubLink": "https://github.com/corpglory/d3vue/" |
||||||
|
} |
@ -0,0 +1,18 @@ |
|||||||
|
<template> |
||||||
|
<div> |
||||||
|
<svg width="500" height="300"></svg> |
||||||
|
</div> |
||||||
|
</template> |
||||||
|
|
||||||
|
<script> |
||||||
|
const d3 = require('d3'); |
||||||
|
export default { |
||||||
|
data () { |
||||||
|
console.log(this.$route); |
||||||
|
return {} |
||||||
|
} |
||||||
|
} |
||||||
|
</script> |
||||||
|
|
||||||
|
<style> |
||||||
|
</style> |
@ -1,13 +1,13 @@ |
|||||||
// The Vue build version to load with the `import` command
|
// The Vue build version to load with the `import` command
|
||||||
// (runtime-only or standalone) has been set in webpack.base.conf with an alias.
|
// (runtime-only or standalone) has been set in webpack.base.conf with an alias.
|
||||||
import Vue from 'vue' |
import Vue from 'vue' |
||||||
import App from './app' |
import app from './app' |
||||||
import router from './router' |
import router from './router' |
||||||
|
|
||||||
/* eslint-disable no-new */ |
/* eslint-disable no-new */ |
||||||
new Vue({ |
new Vue({ |
||||||
el: '#app', |
el: '#app', |
||||||
router, |
router, |
||||||
template: '<App/>', |
template: '<app/>', |
||||||
components: { App } |
components: { app } |
||||||
}) |
}) |
||||||
|
@ -1,8 +1,21 @@ |
|||||||
|
const config = require('config.json'); |
||||||
|
|
||||||
export const routes = [ |
export const routes = [ |
||||||
{ |
{ |
||||||
name: 'Circle mount', |
name: 'Circle mount', |
||||||
path: '/1-circle-mount', |
path: '/1-circle-mount', |
||||||
component: require('d3-components/1-circle-mount') |
component: require('d3-components/1-circle-mount') |
||||||
|
}, |
||||||
|
{ |
||||||
|
name: 'Circle render', |
||||||
|
path: '/2-circle-mount', |
||||||
|
component: require('d3-components/2-circle-render') |
||||||
} |
} |
||||||
] |
].map(r => { |
||||||
|
var res = r; |
||||||
|
res.href = "#" + r.path; |
||||||
|
res.source = config.githubLink + |
||||||
|
'tree/master/src/d3-components' + |
||||||
|
r.path + '.vue' |
||||||
|
return res; |
||||||
|
}) |
||||||
|
Loading…
Reference in new issue