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", "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
"integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" "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": { "copy-webpack-plugin": {
"version": "4.0.1", "version": "4.0.1",
"resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-4.0.1.tgz", "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-4.0.1.tgz",
@@ -7260,6 +7269,12 @@
"integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=",
"dev": true "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": { "toposort": {
"version": "1.0.3", "version": "1.0.3",
"resolved": "https://registry.npmjs.org/toposort/-/toposort-1.0.3.tgz", "resolved": "https://registry.npmjs.org/toposort/-/toposort-1.0.3.tgz",
+1
View File
@@ -51,6 +51,7 @@
"babel-register": "^6.22.0", "babel-register": "^6.22.0",
"chalk": "^2.0.1", "chalk": "^2.0.1",
"connect-history-api-fallback": "^1.3.0", "connect-history-api-fallback": "^1.3.0",
"copy-to-clipboard": "^3.0.8",
"copy-webpack-plugin": "^4.0.1", "copy-webpack-plugin": "^4.0.1",
"css-loader": "^0.28.0", "css-loader": "^0.28.0",
"cssnano": "^3.10.0", "cssnano": "^3.10.0",
+19 -1
View File
@@ -1,5 +1,6 @@
import Versions from '@/components/versions' import Versions from '@/components/versions'
import Viewer from '@/components/viewer' import Viewer from '@/components/viewer'
import copyToClipboard from 'copy-to-clipboard'
export default export default
{ {
@@ -26,6 +27,11 @@ export default
isCode() isCode()
{ {
return this.content.versions.length > 0 return this.content.versions.length > 0
},
version()
{
return this.$store.state.files.currentVersion
} }
}, },
@@ -33,7 +39,8 @@ export default
{ {
return { return {
differencesActive: true, differencesActive: true,
versionsActive: true versionsActive: true,
copied: false
} }
}, },
@@ -52,6 +59,17 @@ export default
onVersionsClick() onVersionsClick()
{ {
this.versionsActive = !this.versionsActive 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="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="#" @click.prevent="onVersionsClick" v-if="isCode">Versions <span v-if="versionsActive">(on)</span></a>
<a :href="downloadUrl" download>Download</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 }} {{ content.path.directory }}/{{ content.name }}
</header> </header>
<versions :file="content" :content="content.versions" v-if="versionsActive && isCode"></versions> <versions :file="content" :content="content.versions" v-if="versionsActive && isCode"></versions>