Site > File > Add copy button

This commit is contained in:
brunosimon
2017-09-01 17:34:29 +01:00
parent aba8632ba6
commit 56011f97c5
4 changed files with 36 additions and 1 deletions
+15
View File
@@ -1712,6 +1712,15 @@
"resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
"integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw="
},
"copy-to-clipboard": {
"version": "3.0.8",
"resolved": "https://registry.npmjs.org/copy-to-clipboard/-/copy-to-clipboard-3.0.8.tgz",
"integrity": "sha512-c3GdeY8qxCHGezVb1EFQfHYK/8NZRemgcTIzPq7PuxjHAf/raKibn2QdhHPb/y6q74PMgH6yizaDZlRmw6QyKw==",
"dev": true,
"requires": {
"toggle-selection": "1.0.6"
}
},
"copy-webpack-plugin": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-4.0.1.tgz",
@@ -7260,6 +7269,12 @@
"integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=",
"dev": true
},
"toggle-selection": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/toggle-selection/-/toggle-selection-1.0.6.tgz",
"integrity": "sha1-bkWxJj8gF/oKzH2J14sVuL932jI=",
"dev": true
},
"toposort": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/toposort/-/toposort-1.0.3.tgz",
+1
View File
@@ -51,6 +51,7 @@
"babel-register": "^6.22.0",
"chalk": "^2.0.1",
"connect-history-api-fallback": "^1.3.0",
"copy-to-clipboard": "^3.0.8",
"copy-webpack-plugin": "^4.0.1",
"css-loader": "^0.28.0",
"cssnano": "^3.10.0",
+19 -1
View File
@@ -1,5 +1,6 @@
import Versions from '@/components/versions'
import Viewer from '@/components/viewer'
import copyToClipboard from 'copy-to-clipboard'
export default
{
@@ -26,6 +27,11 @@ export default
isCode()
{
return this.content.versions.length > 0
},
version()
{
return this.$store.state.files.currentVersion
}
},
@@ -33,7 +39,8 @@ export default
{
return {
differencesActive: true,
versionsActive: true
versionsActive: true,
copied: false
}
},
@@ -52,6 +59,17 @@ export default
onVersionsClick()
{
this.versionsActive = !this.versionsActive
},
onCopyClick()
{
copyToClipboard(this.version.content)
this.copied = true
},
onCopyMouseleave()
{
this.copied = false
}
}
}
+1
View File
@@ -3,6 +3,7 @@
<a href="#" @click.prevent="onDifferencesClick" v-if="isCode">Differences <span v-if="differencesActive">(on)</span></a>
<a href="#" @click.prevent="onVersionsClick" v-if="isCode">Versions <span v-if="versionsActive">(on)</span></a>
<a :href="downloadUrl" download>Download</a>
<a href="#" @click.prevent="onCopyClick" @mouseleave="onCopyMouseleave" v-if="isCode">{{ this.copied ? 'Copied' : 'Copy' }}</a>
{{ content.path.directory }}/{{ content.name }}
</header>
<versions :file="content" :content="content.versions" v-if="versionsActive && isCode"></versions>