✨ Site > Versions > Active latest and keep active
This commit is contained in:
@@ -3,6 +3,6 @@
|
|||||||
File
|
File
|
||||||
{{ content.path.directory }} {{ content.name }}
|
{{ content.path.directory }} {{ content.name }}
|
||||||
</header>
|
</header>
|
||||||
<versions :content="content.versions"></versions>
|
<versions :file="content" :content="content.versions"></versions>
|
||||||
<viewer></viewer>
|
<viewer></viewer>
|
||||||
</div>
|
</div>
|
||||||
@@ -5,13 +5,5 @@ export default
|
|||||||
props:
|
props:
|
||||||
{
|
{
|
||||||
content: { type: Object }
|
content: { type: Object }
|
||||||
},
|
|
||||||
|
|
||||||
methods:
|
|
||||||
{
|
|
||||||
onClick()
|
|
||||||
{
|
|
||||||
this.$store.commit('setVersion', this.content)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
.version
|
||||||
|
display block
|
||||||
@@ -1,3 +1,3 @@
|
|||||||
<a href="#" class="version" @click.prevent="onClick">
|
<a href="#" class="version">
|
||||||
{{ content.date }}
|
{{ content.date }}
|
||||||
</a>
|
</a>
|
||||||
@@ -11,13 +11,15 @@ export default
|
|||||||
|
|
||||||
props:
|
props:
|
||||||
{
|
{
|
||||||
content: { type: Array }
|
content: { type: Array },
|
||||||
|
file: { type: Object }
|
||||||
},
|
},
|
||||||
|
|
||||||
computed:
|
computed:
|
||||||
{
|
{
|
||||||
versions()
|
versions()
|
||||||
{
|
{
|
||||||
|
// console.log('uh')
|
||||||
const versions = this.content.sort((versionA, versionB) =>
|
const versions = this.content.sort((versionA, versionB) =>
|
||||||
{
|
{
|
||||||
const dateA = new Date(versionA.date)
|
const dateA = new Date(versionA.date)
|
||||||
@@ -28,5 +30,45 @@ export default
|
|||||||
|
|
||||||
return versions
|
return versions
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
watch:
|
||||||
|
{
|
||||||
|
versions: 'onVersionsUpdate',
|
||||||
|
file: 'onFileUpdate'
|
||||||
|
},
|
||||||
|
|
||||||
|
created()
|
||||||
|
{
|
||||||
|
this.keepLatest = false
|
||||||
|
},
|
||||||
|
|
||||||
|
mounted()
|
||||||
|
{
|
||||||
|
this.$store.commit('setVersion', this.versions[0])
|
||||||
|
},
|
||||||
|
|
||||||
|
methods:
|
||||||
|
{
|
||||||
|
onVersionsUpdate()
|
||||||
|
{
|
||||||
|
if(this.keepLatest)
|
||||||
|
{
|
||||||
|
this.$store.commit('setVersion', this.versions[0])
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
onFileUpdate()
|
||||||
|
{
|
||||||
|
this.keepLatest = true
|
||||||
|
this.$store.commit('setVersion', this.versions[0])
|
||||||
|
},
|
||||||
|
|
||||||
|
onVersionClick(version, index)
|
||||||
|
{
|
||||||
|
this.keepLatest = index === 0
|
||||||
|
|
||||||
|
this.$store.commit('setVersion', version)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,3 +1,3 @@
|
|||||||
<div class="versions">
|
<div class="versions">
|
||||||
<version v-for="version of versions" :content="version"></version>
|
<version v-for="(version, key) of versions" :content="version" @click.native.prevent="onVersionClick(version, key)"></version>
|
||||||
</div>
|
</div>
|
||||||
@@ -35,9 +35,11 @@ export default {
|
|||||||
{
|
{
|
||||||
const file = state.tree.getFile(data)
|
const file = state.tree.getFile(data)
|
||||||
|
|
||||||
if(file)
|
if(!state.current || state.current.data.id !== file.data.id)
|
||||||
{
|
{
|
||||||
state.current = file
|
state.current = file
|
||||||
|
// console.log(state.current.data.versions.length)
|
||||||
|
// state.currentVersion = state.current.data.versions[state.current.data.versions.length - 1]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user