diff --git a/src/components/svg/clipboard.vue b/src/components/svg/clipboard.vue
new file mode 100644
index 0000000..d3a5459
--- /dev/null
+++ b/src/components/svg/clipboard.vue
@@ -0,0 +1,17 @@
+
+
+
+
+
diff --git a/src/lib/utils/clipboardIo.js b/src/lib/utils/clipboardIo.js
new file mode 100644
index 0000000..4557b6b
--- /dev/null
+++ b/src/lib/utils/clipboardIo.js
@@ -0,0 +1,8 @@
+import Lib from 'plotly.js/src/lib'
+
+export default {
+ async copyCsv (str) {
+ await navigator.clipboard.writeText(str)
+ Lib.notifier('CSV copied to clipboard successfully', 'long')
+ }
+}
diff --git a/src/views/Main/Workspace/Tabs/Tab/RunResult.vue b/src/views/Main/Workspace/Tabs/Tab/RunResult.vue
index eb2baea..5d9f215 100644
--- a/src/views/Main/Workspace/Tabs/Tab/RunResult.vue
+++ b/src/views/Main/Workspace/Tabs/Tab/RunResult.vue
@@ -33,7 +33,16 @@
tooltip-position="top-left"
@click="exportToCsv"
>
-
+
+
+
+
+
@@ -45,9 +54,11 @@ import SqlTable from '@/components/SqlTable'
import LoadingIndicator from '@/components/LoadingIndicator'
import SideToolBar from './SideToolBar'
import ExportToCsvIcon from '@/components/svg/exportToCsv'
+import ClipboardIcon from '@/components/svg/clipboard'
import IconButton from '@/components/IconButton'
import csv from '@/lib/csv'
import fIo from '@/lib/utils/fileIo'
+import cIo from '@/lib/utils/clipboardIo'
export default {
name: 'RunResult',
@@ -64,7 +75,8 @@ export default {
Logs,
SideToolBar,
ExportToCsvIcon,
- IconButton
+ IconButton,
+ ClipboardIcon
},
mounted () {
this.resizeObserver = new ResizeObserver(this.handleResize)
@@ -93,6 +105,9 @@ export default {
},
exportToCsv () {
fIo.exportToFile(csv.serialize(this.result), 'result_set.csv', 'text/csv')
+ },
+ copyToClipboard () {
+ cIo.copyCsv(csv.serialize(this.result))
}
}
}