Merge branch 'localstorage-mixin-fix' into 'master'
Moved localstorage parser to mixin Closes #7 See merge request openflexure/openflexure-microscope-jsclient!13
This commit is contained in:
commit
363dfa87a3
2 changed files with 21 additions and 10 deletions
|
|
@ -87,21 +87,15 @@ export default {
|
||||||
mounted() {
|
mounted() {
|
||||||
// Propagate localMode settings
|
// Propagate localMode settings
|
||||||
this.setLocalMode(this.localMode)
|
this.setLocalMode(this.localMode)
|
||||||
// Try loading and parsing savedHosts from localStorage
|
|
||||||
if (localStorage.getItem('savedHosts')) {
|
// Try loading savedHosts from localStorage. If null, don't change.
|
||||||
try {
|
this.savedHosts = this.getLocalStorageObj('savedHosts') || this.savedHosts
|
||||||
this.savedHosts = JSON.parse(localStorage.getItem('savedHosts'));
|
|
||||||
} catch(e) {
|
|
||||||
localStorage.removeItem('savedHosts');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
// When savedHosts changes, serialise to JSON and save to localStorage
|
// When savedHosts changes, serialise to JSON and save to localStorage
|
||||||
watch: {
|
watch: {
|
||||||
savedHosts(newSavedHosts) {
|
savedHosts(newSavedHosts) {
|
||||||
const parsed = JSON.stringify(this.savedHosts);
|
this.setLocalStorageObj('savedHosts', this.savedHosts)
|
||||||
localStorage.setItem('savedHosts', parsed);
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
|
||||||
17
src/main.js
17
src/main.js
|
|
@ -67,6 +67,23 @@ Vue.mixin({
|
||||||
}
|
}
|
||||||
this.$store.dispatch('errorState', errormsg);
|
this.$store.dispatch('errorState', errormsg);
|
||||||
UIkit.notification({message: `<span uk-icon=\'icon: warning\'></span> ${errormsg}`, status: 'danger'})
|
UIkit.notification({message: `<span uk-icon=\'icon: warning\'></span> ${errormsg}`, status: 'danger'})
|
||||||
|
},
|
||||||
|
|
||||||
|
getLocalStorageObj: function(keyName) {
|
||||||
|
if (localStorage.getItem(keyName)) {
|
||||||
|
try {
|
||||||
|
return JSON.parse(localStorage.getItem(keyName))
|
||||||
|
} catch(e) {
|
||||||
|
console.log("Malformed entry. Removing from localStorage")
|
||||||
|
localStorage.removeItem(keyName)
|
||||||
|
return null
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
setLocalStorageObj: function(keyName, object) {
|
||||||
|
const parsed = JSON.stringify(object)
|
||||||
|
localStorage.setItem(keyName, parsed);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue