diff --git a/src/lib/utils/clipboardIo.js b/src/lib/utils/clipboardIo.js
index 9806a32..0adc750 100644
--- a/src/lib/utils/clipboardIo.js
+++ b/src/lib/utils/clipboardIo.js
@@ -2,9 +2,11 @@ import Lib from 'plotly.js/src/lib'
import dataUrlToBlob from 'dataurl-to-blob'
export default {
- async copyCsv (str) {
+ async copyText (str, notifyMessage) {
await navigator.clipboard.writeText(str)
- Lib.notifier('CSV copied to clipboard successfully', 'long')
+ if (notifyMessage) {
+ Lib.notifier(notifyMessage, 'long')
+ }
},
async copyImage (source) {
diff --git a/src/views/Main/Workspace/Tabs/Tab/RunResult/ValueViewer.vue b/src/views/Main/Workspace/Tabs/Tab/RunResult/ValueViewer.vue
index aee6613..56d9d6a 100644
--- a/src/views/Main/Workspace/Tabs/Tab/RunResult/ValueViewer.vue
+++ b/src/views/Main/Workspace/Tabs/Tab/RunResult/ValueViewer.vue
@@ -10,8 +10,16 @@
>
{{ format.text }}
+
+
-
+
{{ cellValue }}
+
@@ -31,6 +40,7 @@ import 'codemirror/addon/fold/foldgutter.js'
import 'codemirror/addon/fold/foldgutter.css'
import 'codemirror/addon/fold/brace-fold.js'
import 'codemirror/theme/neo.css'
+import cIo from '@/lib/utils/clipboardIo'
export default {
components: {
@@ -43,7 +53,7 @@ export default {
return {
formats: [
{ text: 'JSON', value: 'json' },
- { text: 'TEXT', value: 'text' }
+ { text: 'Text', value: 'text' }
],
currentFormat: 'text',
cmOptions: {
@@ -81,6 +91,13 @@ export default {
} catch {
this.formattedJson = ''
}
+ },
+ copyToClipboard () {
+ cIo.copyText(this.currentFormat === 'json'
+ ? this.formattedJson
+ : this.cellValue,
+ 'The value is copied to clipboard.'
+ )
}
}
}
@@ -89,13 +106,20 @@ export default {
diff --git a/src/views/Main/Workspace/Tabs/Tab/RunResult/index.vue b/src/views/Main/Workspace/Tabs/Tab/RunResult/index.vue
index 8b7a918..5bd923a 100644
--- a/src/views/Main/Workspace/Tabs/Tab/RunResult/index.vue
+++ b/src/views/Main/Workspace/Tabs/Tab/RunResult/index.vue
@@ -256,7 +256,7 @@ export default {
},
copyToClipboard () {
- cIo.copyCsv(this.dataToCopy)
+ cIo.copyText(this.dataToCopy, 'CSV copied to clipboard successfully')
this.$modal.hide('prepareCSVCopy')
},
diff --git a/tests/lib/utils/clipboardIo.spec.js b/tests/lib/utils/clipboardIo.spec.js
index 3a61d57..5f2cc7d 100644
--- a/tests/lib/utils/clipboardIo.spec.js
+++ b/tests/lib/utils/clipboardIo.spec.js
@@ -7,9 +7,9 @@ describe('clipboardIo.js', async () => {
sinon.restore()
})
- it('copyCsv', async () => {
+ it('copyText', async () => {
sinon.stub(navigator.clipboard, 'writeText').resolves(true)
- await cIo.copyCsv('id\tname\r\n1\t2')
+ await cIo.copyText('id\tname\r\n1\t2')
expect(navigator.clipboard.writeText.calledOnceWith('id\tname\r\n1\t2'))
})