1
0
mirror of https://github.com/lana-k/sqliteviz.git synced 2025-12-07 02:28:54 +08:00

refactor import function

This commit is contained in:
lana-k
2021-01-22 22:43:32 +01:00
parent ba44a6dfc6
commit 3aa9c144e3
3 changed files with 60 additions and 58 deletions

View File

@@ -13,5 +13,31 @@ export default {
// Clean up
URL.revokeObjectURL(url)
downloader.remove()
},
/**
* Note: if user press Cancel in file choosing dialog
* it will be an unsettled promise. But it's grabbed by
* the garbage collector (tested with FinalizationRegistry).
*/
importFile () {
return new Promise((resolve, reject) => {
const uploader = document.createElement('input')
uploader.id = 'file-uploader'
uploader.type = 'file'
uploader.accept = '.json'
uploader.addEventListener('change', () => {
const file = uploader.files[0]
const reader = new FileReader()
reader.onload = (e) => {
resolve(e.target.result)
}
reader.readAsText(file)
})
uploader.click()
})
}
}