1
0
mirror of https://github.com/lana-k/sqliteviz.git synced 2025-12-06 18:18:53 +08:00

copy png to clipboard #50

This commit is contained in:
lana-k
2021-08-20 21:45:05 +02:00
parent 949e6b626e
commit ead861b610
12 changed files with 346 additions and 36 deletions

40
src/lib/chartHelper.js Normal file
View File

@@ -0,0 +1,40 @@
import dereference from 'react-chart-editor/lib/lib/dereference'
import plotly from 'plotly.js'
export function getOptionsFromDataSources (dataSources) {
if (!dataSources) {
return []
}
return Object.keys(dataSources).map(name => ({
value: name,
label: name
}))
}
export function getOptionsForSave (state, dataSources) {
// we don't need to save the data, only settings
// so we modify state.data using dereference
const stateCopy = JSON.parse(JSON.stringify(state))
const emptySources = {}
for (const key in dataSources) {
emptySources[key] = []
}
dereference(stateCopy.data, emptySources)
return stateCopy
}
export async function getImageDataUrl (element, type) {
const chartElement = element.querySelector('.js-plotly-plot')
return await plotly.toImage(chartElement, {
format: type,
width: null,
height: null
})
}
export default {
getOptionsFromDataSources,
getOptionsForSave,
getImageDataUrl
}