uppy/src/plugins/PersistentState.js
2016-12-19 23:23:33 -05:00

45 lines
1.1 KiB
JavaScript

const Plugin = require('./Plugin')
// import deepDiff from 'deep-diff'
/**
* Persistent State
*
* Helps debug Uppy: loads saved state from localStorage, so when you restart the page,
* your state is right where you left off. If something goes wrong, clear uppyState
* in your localStorage, using the devTools
*
*/
module.exports = class PersistentState extends Plugin {
constructor (core, opts) {
super(core, opts)
this.type = 'debugger'
this.id = 'Persistent State'
this.title = 'PersistentState'
// set default options
const defaultOptions = {}
// merge default options with the ones set by user
this.opts = Object.assign({}, defaultOptions, opts)
}
loadSavedState () {
const savedState = localStorage.getItem('uppyState')
if (savedState) {
this.core.state = JSON.parse(savedState)
}
}
install () {
this.loadSavedState()
window.onbeforeunload = (ev) => {
localStorage.setItem('uppyState', JSON.stringify(this.core.state))
}
// this.core.on('core:state-update', (prev, state, patch) => {
// localStorage.setItem('uppyState', JSON.stringify(state))
// })
}
}